cmake 입문 실전 기초
2329 단어 개발 도구
├── bin │ └── demo_cmake ├── build ├── CMakeLists.txt ├── inc │ └── MathCommon.h ├── lib │ ├── libMathCommon.so │ └── libMathFunctions.a ├── lib_extern │ ├── build │ ├── CMakeLists.txt │ ├── MathCommon.cpp │ └── MathCommon.h ├── lib_inner │ ├── CMakeLists.txt │ ├── MathFunctions.cpp │ └── MathFunctions.h ├── main.cpp ├── Untils.cpp └── Untils.h
홈 디렉토리의 CMakeLists.txt 내용:
#cmake
cmake_minimum_required(VERSION 2.8)
#
project(demo_cmake)
#
message(STATUS ${CMAKE_BINARY_DIR})
message(STATUS ${CMAKE_SOURCE_DIR})
message(STATUS ${PROJECT_BINARY_DIR})
message(STATUS ${PROJECT_SOURCE_DIR})
#set(CMAKE_BUILD_TYPE "Debug")
#set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
#set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
#
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib)
#
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
#
# , gcc -I
include_directories(${CMAKE_SOURCE_DIR}/inc)
#
# , gcc -L
link_directories(${CMAKE_SOURCE_DIR}/lib)
# SRC_DIR
aux_source_directory(. SRC_DIR)
message(STATUS ${SRC_DIR})
#
add_subdirectory(lib_inner)
#
#add_executable(demo main.cpp Common.cpp)
add_executable(demo_cmake ${SRC_DIR})
# , -l
target_link_libraries(demo_cmake MathFunctions MathCommon)
프로젝트 내부 생성 라이브러리 CMakeLists.txt:
aux_source_directory(. LIB_SRC_DIR)
add_library(MathFunctions STATIC ${LIB_SRC_DIR})
#add_library(MathFunctions SHARED ${LIB_SRC_DIR})
프로젝트 외부 생성 라이브러리 CMakeLists.txt:
cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SO_EXTERN_DIR)
add_library(MathCommon SHARED ${SO_EXTERN_DIR})
홈 디렉토리main 함수 코드:
1 #include
2
3 #include"Untils.h"
4
5 #include"lib_inner/MathFunctions.h"
6
7 #include"MathCommon.h"
8
9 int main()
10 {
11 printf("this is a cmake demo test.
");
12
13 printf_extern_lib();
14
15 printf_inner_lib();
16
17 printf_untils();
18
19 return 0;
20 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로컬 개발 환경을 Git/GitHub 관리로벌써 그 만마. 그 이상도 이하도 아닙니다. 모처럼 헤매어 와 주신 분에게, 본 기사의 골을 알려 드리겠습니다. GitHub에 push하여 잔디 야생 w OS:Windows10 64bit IDE:Eclipse Neo...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.