cmake中添加引用动态链接_CMake 添加头文件目录,链接动态、静态库(添加子文件夹)...

2023-05-16

CMake支持大写、小写、混合大小写的命令。

当编译一个需要第三方库的项目时,需要知道:

去哪找头文件(.h),-I(GCC)

INCLUDE_DIRECTORIES()

去哪找库文件(.so/.dll/.lib/.dylib/...),-L(GCC)

LINK_DIRECTORIES()

需要链接的库文件的名字:-l(GCC)

LINK_LIBRARIES(库名称即可)

1. 添加头文件目录

INCLUDE_DIRECTORIES

它相当于 g++ 选项中的 -I 参数的作用,也相当于环境变量中增加路径到 CPLUS_INCLUDE_PATH 变量的作用:

include_directories(../../../thirdparty/comm/include)

2. 添加需要链接的库文件目录

LINK_DIRECTORIES

它相当于 g++ 命令的 -L 选项的作用,也相当于环境变量中增加 LD_LIBRARY_PATH 的路径的作用

link_directories("/home/server/third/lib")

3. 宏定义

比如设置为 CPU_ONLY

add_definitions(-DCPU_ONLY)

它相当于 g++ 命令的 -D 选项的作用(-DCPU_ONLY),用于宏定义。

4. 添加子文件夹

使用 add_subdirectory

add_subdirectory(Foundation_Classes)

add_subdirectory(Behavioral_Patterns)

add_subdirectory(Creational_Patterns)

add_subdirectory(Structural_Patterns)

references

cmake 添加头文件目录,链接动态、静态库(转载)

来源网址:http://www.cnblogs.com/binbinjx/p/5626916.html 罗列一下cmake常用的命令. CMake支持大写.小写.混合大小写的命令. 1. 添加头文件目 ...

cmake 添加头文件目录,链接动态、静态库

罗列一下cmake常用的命令. CMake支持大写.小写.混合大小写的命令. 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_directories([AFTER| ...

vs添加静态链接库+添加动态链接库+添加头文件目录

头文件添加方法:工程---属性---配置属性---c/c++---常规---附加包含目录(Additional Include Directories):加上头文件存放目录.注意:(1)路径必须指向头 ...

cmake的使用二:链接第三方静态库

cmake的使用二:链接第三方静态库

NDK 链接第三方静态库的方法

将NDK编译的第三方静态拷贝到JNI目录下,在Android.mk中添加如下代码 以openssl静态库(libcrypto-static.a)为例 第一种链接方法:LOCAL_LDFLAGS := ...

g++ 链接*.a静态库 方法

g++在链接*.a静态库时,直接作为object使用,不需要使用-l ,但是需要注意调整顺序,被依赖的文件放在后面. 如: g++  -g  -o0 -Wno-deprecated  -I$(INCL ...

【转】Linux编译链接问题----静态库和动态库

Linux静态库和动态库的命名规则 静态函数库 静态库的名字一般是libxxx.a,利用静态库编译生成的文件比较大,因为整个静态库所有的数据都会被整合进目标代码中. a) 优点: 编译后,可执行文件不 ...

VS2010编译链接openssl静态库

最近工作需要使用一些加密算法.之前尝试过cryptopp以及polarssl,听说openssl中的加密模块特别全,并且特别好用.于是想尝试一下. 一.环境配置 下载openssl,我这里使用的是op ...

VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

转帖:http://blog.csdn.net/whygosofar/article/details/2821875 MSDN中对于在不同的配置下Link的LIB作了说明: C Runtime Lib ...

随机推荐

static 作用

静态,定义静态变量或者静态函数的时候使用该关键字. 被定义为static的函数,可以不需要new一个新类别而直接调用 比如Math类里有一个,public static sub()方法,那么你可以直接 ...

DE2-115开发板学习(1_时钟信号引脚分配与复位信号的产生)

1.DE2-115开发板资源 Altera EPCS64 Configuration Device 64MB SDRAM (两片) 50MHz Oscillator EP4CE115F29C7(4PL ...

Webform购物车(用Session存储,页面传值)

购物车主要实现的功能: ①在主页面可以将所有商品显示出来,包括价格,库存. ②点击购买可以累加产品,如果是同一种产品,只会累加每种产品的数量. ③查看购物车,可以查看明细,包括所购物品的名称,价格,数 ...

快速稳定的维护PHP

Just to recap, previously we'd have this sort of thing: namespace me\adamcameron\testApp; use Guzzle ...

if条件判断语句的不同

let number = ["a":1, "b":2, "c":3]; if let num = number["d"] ...

浙江大学PAT上机题解析之1015. 德才论 (25)

宋代史学家司马光在中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人 ...

Python_字符串连接

#join() 与split()相反,join()方法用来将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符 li=['apple','peach','banana','pear'] se ...

linux比较两个文件是否一样(linux命令md5sum使用方法)

1.简介 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一 ...

[ACM_模拟] HDU 1006 Tick and Tick [时钟间隔角度问题]

Problem Description The three hands of the clock are rotating every second and meeting each other ma ...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cmake中添加引用动态链接_CMake 添加头文件目录,链接动态、静态库(添加子文件夹)... 的相关文章

随机推荐