添加名为name的库,库的源文件可指定,也可用target_sources()后续指定。 库的类型是STATIC(静态库)/SHARED(动态库)/MODULE(模块库)之一。 name属性必须全局唯一 生成的library名会根据STATIC或SHARED成为name.a或name.lib 这里的STATIC和SHARED可不设置,通过全局的BUILD_SHARED_LIBS的FALSE或TRUE来指定 windows下,如果...
STATIC(静态库) SHARED(动态库) MODULE(模块库)用来指定库的类型。 -使用STATIC构建生成静态库(name.a),使用SHARED构建生成动态库(name.so)。 3.1.2 命令参数 name:构建成的库名 STATIC|SHARED|MOUDLE:库的类型 EXCLUDE_FROM_ALL:加了EXCLUDE_FROM_ALL属性的target在默认编译的时候,不会被编译,如果要编译它们,...
ADD_LIBRARY(hello SHARED${LIBHELLO_SRC}) ADD_LIBRARY(hello_static STATIC${LIBHELLO_SRC}) 3:注意,一般我们使用的静态库/动态库只是后缀名不同而已,上面构建的libhello.so与libhello_static.a,显然名字不同哦。这时你会有一个想法,那我把hello_static改成hello,结果是不可行的,静态库无法构建。重名会忽略...
STATIC:生成静态库 SHARED:生成动态库 EXCLUDE_FROM_ALL:add_library, add_executable, add_subdirectory等命令都有一个EXCLUDE_FROM_ALL参数. 作用就是如果某个target或subdirectory被设置为EXCLUDE_FROM_ALL属性, 那么这个target(或这个subdirectory中的所有target)就会被排除在all target列表之外,这样,当执行默认的make...
它的常用语法是:add_library(name[STATIC|SHARED|MODULE]sources),其中name是库的名称,[STATIC | SHARED | MODULE]表示要创建的库的类型,sources是库的源文件。 在cmakelists中使用add_library指令可以很方便地创建库文件,并且可以在其他工程中使用这些库文件。当创建库文件时,需要指定库的类型,静态库和动态库的...
它可以将一个或多个源文件编译成静态库(STATIC)、动态库(SHARED)或模块(MODULE),以便在项目中复用或分发。 在add_library中添加单个源文件 添加单个源文件到 add_library 非常简单,只需指定库名称和源文件即可。例如: cmake add_library(mylib STATIC mylib.cpp) ...
add_library(<name><SHARED|STATIC|MODULE|INTERFACE>[source1][source2...]) 其中,<name>是你要创建的库的名称,<SHARED|STATIC|MODULE|INTERFACE>用于指定库的类型。你可以选择的类型包括SHARED(共享库,Shared Libraries)、STATIC(静态库,Static Libraries)、MODULE(模块库,Module Libraries)或INTERFACE(接口库,Inter...
STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需要在代码中添加 __declspec(dllexport)不然导不出lib文件。 下面在CMakeLists.txt所在目录运行 cmake -S . -B build ...
STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需要在代码中添加 __declspec(dllexport)不然导不出lib文件。 下面在CMakeLists.txt所在目录运行 cmake -S . -B build cmake --build build 三CMake 链接静态库 静态库就...
add_library(mylibrary SHARED source1.cpp source2.cpp) 另一种常见的用法是将一个库编译成两种类型,比如同时生成静态库和动态库。这可以通过在add_library命令中指定多个标识符来完成,如下所示: add_library(mylibrary STATIC source1.cpp source2.cpp) add_library(mylibrary_shared SHARED source1.cpp source...