ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) ADD_LIBRARY(hello STATIC ${LIBHELLO_SRC}) 但是如果使用这种方式,只会构建一个动态库,不会构建出静态库,虽然静态库的后缀是.a,此时我们可以修改静态库的名字,这样是可以同时构建动态库和静态库: ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) ADD_LIBRARY(hello_st...
如果要指定libhello.so 生成的位置,可以通过在主工程文件CMakeLists.txt 中修改 ADD_SUBDIRECTORY(lib)指令来指定一个编译输出位置或者在lib/CMakeLists.txt 中添加 SET(LIBRARY_OUTPUT_PATH <路径>)来指定一个新的位置。 四、ADD_LIBRARY指令 语法: ADD_LIBRARY(libname [SHARED|STATIC|MODULE] [EXCLUDE_FROM_AL...
target_sources给target对象增加源码,target必须时已经通过add_executable()和add_library()命令创建的。 try_compiletry_run CMake toolchains 主要用于交叉编译,Cross Compiling。 主要通过-DCMAKE_TOOLCHAIN_FILE=path/to/file来传递cmake文件,用于定义一系列交叉编译器的参数。CMAKE_CROSSCOMPILING变量会变置为true。...
1 . CMake 引入静态库 : 使用 add_library() 导入静态库 , set_target_properties() 设置静态库路径 ; # 引入静态库 # ① 参数 1 ( add ) : 设置引入的静态库名称 # ② 参数 2 ( SHARED ) : 设置引入的函数库类型 : ① 静态库 STATIC ② 动态库 SHARED # ③ 参数 3 ( IMPORTED ) :...
CMAKE_LIBRARY_PATH:环境变量; CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt文件所在路径; CMAKE_CURRENT_BINARY_DIR:target编译目录; 使用ADD_SURDIRECTORY指令可以更改该变量的值; SET(EXECUTABLE_OUTPUT_PATH < dir >) 指令不会对该变量有影响,但改变了最终目标文件的存储路径; ...
add_library(<库名> <库路径>) 如何使用add_library()函数 要使用add_library()函数,我们需要在CMakeLists.txt文件中找到对应的代码行。然后,将所需的库名和库路径作为参数传入add_library()函数中即可。 #include <CMakeLists.txt> add_library(libexample "path/to/libexample") add_library()函数的示例...
三. 介绍两个特殊的环境变量CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH 注意:这两个是环境变量而不是 cmake 变量!使用方法是: 在.bashrc中用 export CMAKE_INCLUDE_PATH=/home/include/cmake .. 如果头文件没有存放在常规路径(/usr/include, /usr/local/include 等),则可以通过这些变量进行弥补。我们以本...
1 . CMake 引入静态库 : 使用add_library() 导入静态库 , set_target_properties() 设置静态库路径 ; 代码语言:javascript 复制 # 引入静态库 # ① 参数 1 ( add ) : 设置引入的静态库名称 # ② 参数 2 ( SHARED ) : 设置引入的函数库类型 :① 静态库 STATIC② 动态库 SHARED # ③ 参数 3 ( ...
它相当于 g++ 命令的 -L 选项的作用,也相当于环境变量中增加 LD_LIBRARY_PATH 的路径的作用 link_directories("/home/server/third/lib") 3. 宏定义 CMakeLists.txt 之 多重判断宏定义 比如设置为 CPU_ONLY add_definitions(-DCPU_ONLY) 它相当于 g++ 命令的 -D 选项的作用(-DCPU_ONLY),用于宏定义。
add_executable(demo main.cpp ) 7.最后贴一个完整的例子 cmake_minimum_required (VERSION 2.6) INCLUDE_DIRECTORIES(../../thirdparty/comm) FIND_LIBRARY(COMM_LIB comm ../../thirdparty/comm/lib NO_DEFAULT_PATH) FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) ...