add_library中的第二个参数 STATIC 表示是静态库,如果不加STATIC的话比如 add_library(xlog xlog.cpp) 就是默认编译动态库,如果要编译静态库再通过cmake的预制变量来控制。 STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需...
add_library: 生成动态库或静态库(第1个参数指定库的名字;第2个参数决定是动态还是静态,如果没有就默认静态;第3个参数指定生成库的源文件)。 set_target_properties: 设置输出的名称,还有其它功能,如设置库的版本号等等。 LIBRARY_OUTPUT_PATH: 库文件的默认输出路径,这里设置为工程目录下的lib目录。 testcmake目...
add_library: 生成动态库或静态库(第1个参数指定库的名字;第2个参数决定是动态还是静态,如果没有就默认静态;第3个参数指定生成库的源文件) set_target_properties: 设置最终生成的库的名称,还有其它功能,如设置库的版本号等 LIBRARY_OUTPUT_PATH: 库文件的默认输出路径,这里设置为工程目录下的lib目录 PS:前面使用...
EXCLUDE_FROM_ALL 参数的意思是这个库不会被默认构建,除非有其他的组件依赖或者手 工构建。 2.1、添加动态库libXX.so 在lib/CMakeLists.txt中添加下面两行,构建动态库 SET(LIBHELLO_SRC hello.c) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) 1. 2. 2.2、添加静态库libXX.a 同样使用上面的指令,我们在支持...
可以在add_library()命令后面添加一些可选参数,用于配置库的属性。例如,你可以通过添加STATIC关键字来指定创建一个静态库: 可以在add_library()命令后面添加一些可选参数,用于配置库的属性。例如,你可以通过添加STATIC关键字来指定创建一个静态库: 在CMakeLists.txt文件中,你还需要使用target_include_directories...
因为默认情况下,所有平台都是默认的动态链接运行时库,所以只要你不明确的指定是静态链接运行时库,那么它就一定是动态链接运行时库。 那如果我是一个“铁脑壳”,非要指定呢? MSVC: set(CMAKE_MSVC_RUNTIME_LIBRARY"MultiThreadedDLL$<$<CONFIG:Debug>:DebugDLL>") ...
EXCLUDE_FROM_DEFAULT_BUILD属性被visual studio生成器使用。如果属性值设置为1,那么当你选择"构建解决方案"时,目标将不会成为默认构建的一部分。 SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello") 同时生成动态静态库 ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) ...
按你的需求,并不需要这个功能,你直接添加一个静态库就足够了:add_library(xlib STATIC a.cpp b....
add_library(mylib STATIC ${SRC_FILES}) 前面两行没什么可以说的,我们使用file命令拿到所有c文件名。这里比较陌生的是add_library命令,这个命令可以用来打包静态链接库和动态链接库。我们先看一下它的原型、 add_libary(<name> [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [...]) 第一个参数...