在前面的基础上: 迦非喵:CMake从入门到精通(四)同时生成动态库和静态库(shared lib,static lib)继续重构。 这里展示顺序: 1、简单生成静态库: 迦非喵:CMake从入门到精通(二)静态库static library2、简…
{LIB_NAME_STATIC} ) endif() set_target_properties ( ${LIB_NAME_STATIC} PROPERTIES OUTPUT_NAME ${LIB_NAME_OUT} ) target_include_directories ( ${LIB_NAME_STATIC} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include ) add_library ( ${LIB_NAME} SHARED ${CMAKE_CURRENT_SOURCE_DIR}/src/foo.cpp ...
7. ADD_LIBRARY 格式: 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 ADD_LIBRARY(libname[SHARED|STATIC|MODULE][EXCLUDE_FROM_ALL]source1 source2...sourceN) libname:库文件名称; [SHARED|STATIC|MODULE]:生成库文件类型(共享库/静态库) [EXCLUDE_FROM_ALL]:表示该库不会被默认构建 source1...
LIBRARY_OUTPUT_PATH:库文件路径CMAKE_BUILD_TYPE::build 类型(Debug, Release, ...),CMAKE_BUILD_TYPE=DebugBUILD_SHARED_LIBS:Switch between shared and static libraries内置变量的使用:>> 在CMakeLists.txt中指定,使用set>> cmake命令中使用,如cmake -DBUILD_SHARED_LIBS=OFF...
add_library ( Box2D STATIC $ { box2d_source_files } ) 这里add_library表示最终编译为一个库,static表示是静态库,如果想编译动态库,可以修改为shared. 至此,一个静态库的配置就完成了。当然,因为这个库没有包括其它外部的头文件,所以会比较简单。但这也远比一个Makefile要简单N倍。
add_library(MyStaticLib STATIC src/MyStaticLib.cpp) # 添加共享库 add_library(MySharedLib SHARED src/MySharedLib.cpp) # 添加模块库 add_library(MyModuleLib MODULE src/MyModuleLib.cpp) # 添加对象库 add_library(MyObjectLib OBJECT src/MyObjectLib.cpp) ...
add_library是CMake中的一个核心命令,用于添加库(libraries)到你的项目中。库是一个包含了预编译好的代码的文件,这些代码可以被你的应用程序或其他库所共享和重用。 在CMake中,add_library命令的基本语法如下: add_library(<name> <SHARED|STATIC|MODULE|INTERFACE> [source1] [source2 ...]) ...
语法:ADD_LIBRARY(libname [SHARED|STATIC] SHARED 表示生成动态库, STATIC表示生成静态库。 5. TARGET_LINK_LIBRARY(association core) 表示库association 依赖core库文件 6. SET_TARGET_PROPERTIES 设置编译的库文件存放的目录,还可用于其他属性的设置。如不指定, ...
CMAKE_C_COMPILER:指定C编译器 CMAKE_CXX_COMPILER: CMAKE_C_FLAGS:编译C文件时的选项,如-g;也可以通过add_definitions添加编译选项 EXECUTABLE_OUTPUT_PATH:可执行文件的存放路径 LIBRARY_OUTPUT_PATH:库文件路径 CMAKE_BUILD_TYPE::build 类型(Debug, Release, ...),CMAKE_BUILD_TYPE=Debug BUILD_SHARED_LIB...
-static-libstdc++ When the g++ program is used to link a C++ program, it normally automatically links against libstdc++. If libstdc++ is available as a shared library, and the -static option is not used, then this links against the shared version of libstdc++. That is normally fine. Howev...