add_library中的第二个参数 STATIC 表示是静态库,如果不加STATIC的话比如 add_library(xlog xlog.cpp) 就是默认编译动态库,如果要编译静态库再通过cmake的预制变量来控制。 STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需...
add_library中的第二个参数 STATIC 表示是静态库,如果不加STATIC的话比如 add_library(xlog xlog.cpp) 就是默认编译动态库,如果要编译静态库再通过cmake的预制变量来控制。 STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需...
cmakelists中的add_library指令是用来创建静态或动态库的命令。它的常用语法是:add_library(name[STATIC|SHARED|MODULE]sources),其中name是库的名称,[STATIC | SHARED | MODULE]表示要创建的库的类型,sources是库的源文件。 在cmakelists中使用add_library指令可以很方便地创建库文件,并且可以在其他工程中使用这些库...
add_library中的第二个参数 STATIC 表示是静态库,如果不加STATIC的话比如 add_library(xlog xlog.cpp) 就是默认编译动态库,如果要编译静态库再通过cmake的预制变量来控制。 STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需...
静态库 add_library(x264 STATIC IMPORTED) set_property(TARGET x264 PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/libx264.a) target_link_libraries
STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需要在代码中添加 __declspec(dllexport)不然导不出lib文件。 下面在CMakeLists.txt所在目录运行 cmake -S . -B build ...
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) # 可执行文件目录 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) # 动态库 add_library(test_shard SHARED TestManager.h TestManager.cpp) # 静态库 add_library(test_static TestManager.h TestManager.cpp) ...
add_library(my_lib STATIC ${SrcFiles}) endif() 这里在编译动态库的时候会添加两个宏定义MY_LIB_SHARED_BUILD以及MY_LIB_EXPORTS。注意到这里MY_LIB_EXPORTS宏定义的访问符为PRIVATE即这个宏定义只是在编译时有效。而MY_LIB_SHARED_BUILD宏定义的访问符为PUBLIC,即无论是编译还是安装后作为库文件引用时均有效。
add_executable(test test.cpp) 静态库 target:使用源文件 static_fun.cpp 编译得到静态库 static_fun add_library(static_fun STATIC) target_sources(static_fun PRIVATE static_fun.cpp) # ${PROJECT_SOURCE_DIR}/include是编译时和使用时都需要使用的头文件搜索路径,见下文 ...
add_compile_definitions(MG_ENABLE_OPENSSL=1) # 打印消息 message(消息) # 编译子文件夹的CMakeLists.txt add_subdirectory(子文件夹名称) #将.cpp/.c/.cc文件生成.a静态库 # 注意,库文件名称通常为libxxx.so,在这里只要写xxx即可 add_library(库文件名称 STATIC 文件) ...