当前位置: 代码迷 >> 综合 >> CMake - - - updata later
  详细解决方案

CMake - - - updata later

热度:47   发布时间:2023-12-28 01:46:46.0

CMakeLists.txt是层级包含关系,外层包含里层。

project(项目名称)set(src    //src为变量,自定义${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
)
//生成可执行文件helloword
add_executable(helloword${src}    //源文件
)
//从外部查找目录里来
link_directories(//${CMAKE_SOURCE_DIR}指的是从/build前面到工程的文件目录${CMAKE_SOURCE_DIR}/build/samples/base64 
)你 
//工程内静态库的添加
target_link_libraries(link        //工程目录下面sample      //工程内,处在工程目录下“base64”    //表示从查找目录中得到
)
//工程外静态库的添加
include_directories(${CMAKE_SOURCE_DIR}/samples/base64
)
//表示该CMake下有一个子目录也含有CMake(即有实体工程)。
add_subdirectory(里层文件夹名)    //生成静态库
project(base64)
set(src${CMAKE_CURRENT_SOURCE_DIR}/base64.cpp${CMAKE_CURRENT_SOURCE_DIR}/base64.h
)
add_library(base64 STATIC${src}
)//生成动态库
project(base64_dynamic)    //base64_dynamic为工程子文件目录,即存放base64.cpp的文件夹名称
ADD_DEFINITIONS(-DBASE64_SHARED)
set(src${CMAKE_CURRENT_SOURCE_DIR}/base64.cpp${CMAKE_CURRENT_SOURCE_DIR}/base64.h
)
add_library(base64_dynamic SHARED${src}
)

add_subdirectory( 里层文件夹名 )        //表示该CMake下有一个子目录也含有CMake(即有实体工程)。

  相关解决方案