cmake 学习笔记(二)
2023-09-27 14:29:32 时间
库文件路径。注意:
由于历史原因,相对路径会原样传递给链接器。
尽量使用FIND_LIBRARY而避免使用这个。
本意是供设置 -D... /D... 等编译预处理需要的宏定义参数,对比 REMOVE_DEFINITIONS()
这三个变量指代的内容是一致的,如果是in source编译,指得就是工程顶层目录,如果 是out-of-source编译,指的是工程编译发生的目录
如果是in-source编译,它跟CMAKE_CURRENT_SOURCE_DIR一致,如果是out-ofsource 编译,他指的是target编译目录。
配合 FIND_FILE() 以及 FIND_PATH() 使用。如果头文件没有存放在常规路径(/usr/include, /usr/local/include等),
则可以通过这些变量就行弥补。如果不使用 FIND_FILE 和 FIND_PATH的话,CMAKE_INCLUDE_PATH,没有任何作用。
cmake 为上百个软件包提供了查找器(finder):FindXXXX.cmake
当使用非cmake自带的finder时,需要指定finder的路径,这就是CMAKE_MODULE_PATH,配合 FIND_PACKAGE()使用
CMAKE_INSTALL_PREFIX控制make install是文件会安装到什么地方。默认定义是/usr/local 或 %PROGRAMFILES%
BUILD_SHARED_LIBS如果不进行设置,使用ADD_LIBRARY且没有指定库类型,默认编译生成的库是静态库。
UNIX 与 WIN32 UNIX,在所有的类UNIX平台为TRUE,包括OS X和cygwin WIN32,在所有的win32平台为TRUE,包括cygwinCMake实战(三) 前面两篇《CMake实战(一)》,《CMake实战(二)》,主要是介绍单目录和多目录的编译,接下来看一下自定义编译选项和交叉编译。
CMake实战(二) 上一篇《CMake实战(一)》我们是把所有文件放在同一个目录下,而平常开发时,我们会将源文件进行分类,放到不同的目录下。接下来我们来看一下具体要怎么操作。
相关文章
- 神经网络与机器学习 笔记—改善反向传播的性能试探法
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
- <<Python基础教程>>学习笔记 | 第10章 | 充电时刻
- matlab学习笔记1--matlab工作界面
- Python3.6学习笔记(六)
- kali 服务篇-firewalld 学习笔记
- 机器学习笔记之指数族分布——指数族分布介绍
- AIOps-一位研发工程师的学习笔记
- jenkins学习笔记第五篇使用参数化解决ant+jemeter生成报告问题
- python学习笔记/01python基础入门
- Linux 计划任务 Crontab 笔记与总结(2)Crontab 的基本组成与配置
- cURL 学习笔记与总结(3)模拟登录博客园并下载个人随笔首页
- tensorflow学习笔记三:实例数据下载与读取
- iOS-RAC学习笔记(一)——RACStream
- Lua学习笔记之利用元表来制作一个只读的表
- Layui使用笔记(三):TP5+layui异步上传缩略图
- 软件探索性测试 笔记二
- Elasticsearch 学习笔记
- owl 学习笔记16--待办事例
- fiddler学习笔记&&基本使用
- 【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍
- 学习笔记(22):Python网络编程&并发编程-什么是线程
- 学习笔记(10):Python网络编程&并发编程-粘包现象
- 《手把手教你学C语言》学习笔记(3)---变量
- Fast-BEV:A Fast and Strong Bird’s-Eye View Perception Baseline——论文笔记
- 《ENAS:Efficient Neural Architecture Search via Parameter Sharing》论文笔记