add_library(<name> <SHARED|STATIC|MODULE|OBJECT|UNKNOWN> IMPORTED [GLOBAL]) 这种用法直接导入已经生成的库,cmake不会给这类library添加编译规则。 这种用法的关键在于添加变量IMPORTED。 另外,GLOBAL可用于设置这个library为全局可见。 常规和imported的library的属性不同: 常规的library,其属性以INTERFACE_开头 impor...
Cmake可以写成下面的形式: # 'import' the external libraries cryptoTools, libOTe, and FBSLibadd_library(cryptoToolsSTATICIMPORTED)set_target_properties(cryptoToolsPROPERTIESIMPORTED_LOCATION${PROJECT_SOURCE_DIR}/lib/libcryptoTools.a)add_library(libOTeSTATICIMPORTED)set_target_properties(libOTePROPERTIESIMPORTE...
add_library(<name> <SHARED|STATIC|MODULE|OBJECT|UNKNOWN> IMPORTED [GLOBAL]) 1. 2. 这种用法可以直接导入已经生成的库,cmake不会给这类library添加编译规则。 这种用法的关键在于添加变量IMPORTED。 另外,GLOBAL可用于设置这个library为全局可见。 imported的library,其属性以IMPORTED_开头,导入库的几个重要属性如下...
target_link_libraries(MyExecutable PRIVATE MyLibrary) 在这个例子中,MyLibrary是你创建的一个导入目标,"/path/to/mylibrary.*"和"/path/to/mylibrary/headers"应该替换为你的库文件和头文件的实际路径。 至于add_library(MyLibrary SHARED IMPORTED)里面的是SHARED还是STATIC并不能决定是静态还是动态,本质还是看具...
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(add_static STATIC IMPORTED GLOBAL) #指定外部库的位置 set_target_properties(add_static PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/lib/libadd_static.a) #以下两种方法均可 #设置头文件,注意用INTERFACE #target_include_directories(add_static INTERFACE ${CMAKE_CURRENT_SOURCE_...
动态库的添加: link_directories(${PROJECT_SOURCE_DIR}/lib) #添加动态连接库的路径 target_link_libraries(project_name-lmxnet ) #添加libmxnet.so 静态库的添加: add_library(mxnet STATIC IMPORTED) set_property(TARGET mxnet PROPERTY IMPORTED_LOCATION/path/to/libmxnet.a) ...
cmake中添加引用动态链接和静态链接库动态库的添加: link_directories(${PROJECT_SOURCE_DIR}/lib) #添加动态连接库的路径 target_link_libraries(project_name -lmxnet ) #添加libmxnet.so 静态库的添加: add_library(mxnet STATIC IMPORTED) set_property(TARGET mxnet PROPERTY IMPORTED_LOCATION /path/to/lib...
# 后续还需要设置导入路径,配合该配置使用add_library(# 设置引入的静态库名称 add # 设置引入的函数库类型为静态库STATIC# 表示引入第三方静态库IMPORTED) 5 . CMake 构建脚本 CMakeList.txt 设置静态库路径 : 代码语言:javascript 复制 # 设置上述静态库的导入路径 ...
add_library(<name><SHARED|STATIC|MODULE|UNKNOWN>IMPORTED[GLOBAL]) 一个Imported Lib目标代表一个工程外部的库文件,当前这个工程内灭有命令来编译这个库,并且这个库的IMPORT属性是true。 没有设置GLOBAL的时候,这个目标名称的作用域只在创建它的目录以及子目录;设置了之后,全局可见。