使用add_libraryCMake指令将静态库添加到项目中。 使用target_link_libraries指令,将静态库链接到目标(可执行文件)。 步骤1:创建静态库 首先,我们需要创建一个简单的静态库。在项目的CMakeLists.txt中添加以下代码: # 创建静态库 add_library(MyStaticLib STATIC src/MyStaticLib.cpp ) 1. 2. 3. 4. MyStatic...
add_library(MathFunctions MySqrt.h MySqrt.cpp) 1. 2、顶层调用 为了使用这个新库,我们将在顶级CMakeLists中使用add_subdirectory()添加库调用。 # 添加库 add_subdirectory(MathFunctions) 1. 2. 然后将新库添加到可执行文件中,并将MathFunctions库添加到包含目录中,以便能够找到MySgrt.h头文件。 target_li...
而target_link_libraries为特定的目标指定链接库,则需要在add_library或者add_executable命令之后使用
add_library add_subdirectory target_link_libraries option target_compile_definitions 与位置无关的代码 (-fPIC) 系列链接: 【学习 cmake step1】 创建一个简单的 C++ 项目 目标:学习在项目中如何构建和使用一个公共库(library)。 在项目子文件夹中创建一个公共库,名字叫做 MathFunctions 供项目使用。 提供一个...
add_library(calculater STATIC calculater.cpp)target_link_libraries(calculater PRIVATE add sub)target_include_directories(calculater PUBLIC ./) #include"calculater.h"#include"add.h"#include"sub.h"voidcalcul(void){inta =5;intb =2;add(a,b);sub(a,b);return; ...
对应成 CMake 就是 add_executable(aa1.cppa2.cpp)target_link_library(aPUBLICx)add_executable(bb1...
link_libraries(library1 <debug | optimized> library2 ...) # 直接是全路径 link_libraries(“/home/server/third/lib/libcommon.a”) # 下面的例子,只有库名,cmake会自动去所包含的目录搜索 link_libraries(iconv) # 传入变量 link_libraries(${RUNTIME_LIB}) ...
递归遍历LINK_LIBRARY属性是可能的。 下面是一个这样做的get_link_libraries(),但是它并不能处理所有的情况(例如,库不是目标,不是导入的库)。 代码语言:javascript 复制 function(get_link_libraries OUTPUT_LIST TARGET) get_target_property(IMPORTED ${TARGET} IMPORTED) list(APPEND VISITED_TARGETS ${TARGET})...
也相当于环境变量中增加LD_LIBRARY_PATH的路径的作用。比如:List of direct link dependencies.比如:也可以写成:语法:TARGET_LINK_LIBRARIES(targetlibrary1 <debug | optimized> library2 ..)比如(以下写法(包括备注中的)都可以):再如:CMakeLists文件链接方式有如下2种:
link_directories(directory1 directory2 ...) 它相当于g++命令的-L选项的作用,也相当于环境变量中增加LD_LIBRARY_PATH的路径的作用。 比如: LINK_DIRECTORIES("/opt/MATLAB/R2012a/bin/glnxa64") LINK_LIBRARIES (添加需要链接的库文件路径,注意这里是全路径) ...