43 编译原理及cmake使用手册学习
2024-09-29 15:41:56
0 引言
大量开源库需要通过cmake编译后使用,了解cmake的基本指令以及CMakeLists.txt的写法非常重要,其基础是了解编译原理。另外,为了对cmake编译的代码进行调试,需要了解CMakeList.txt的写法。本文将对这些关键问题进行探讨,并记录一些关键点。
参考了如下链接。
https://blog.csdn.net/wzzfeitian/article/details/40963457/ # cmake使用示例与整理总结 https://cmake.org/cmake/help/v3.3/command/target_link_libraries.html # cmake official documentation # cmake相关的教程
https://tuannguyen68.gitbooks.io/learning-cmake-a-beginner-s-guide/content/chap1/chap1.html
1 cmake编译原理
cmake通过指定源文件、外部include文件、 静态链接库(.a/.lib)文件、动态链接库(.so/.dll)文件的路径,以及生成文件的路径,将整个程序有序地组织起来,最终达到生成可执行程序的目的。
2 cmake commands(常用)
()cmake中的指令对大小写不敏感。
()PROJECT(project):工程名,一般采用最上层文件夹名
()ADD_SUBDIRECTORY(add_subdirectory):附加目录名,一般为src的目录,在文件比较多的时候采用
()LINK_DIRECTORIES (link_directories):静态链接库目录,供linker(链接器)使用
()ADD_EXECUTABLE (add_executable):可执行文件
()INCLUDE_DIRECTORIES(include_directories): .h头文件
()TARGET_LINK_LIBRARIES(target_link_libraries): .so文件,格式是 target_link_libraries(可执行文件名 链接库地址及文件)
写法为:以libboost_system.so.1.58.o 为例 “-lboost_system”
3 cmake预定义变量
$PROJECT_SOURCE_DIR$ : 工程的根目录
$PROJECT_BINARY_DIR$ : 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/build
4 cmake的CMakeLists.txt语法
常用变量的意义解释都有,链接如下。
https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/Useful-Variables
5 cmake参数运用
(1)区分debug和release的方法:
点击Add Entry添加 Name: CMAKE_DEBUG_POSTFIX 、Type: STRING 、Value:-gd、Description:空
最新文章
- linux系统免密码登陆
- Cordova - 使用Cordova开发iOS应用实战1(配置、开发第一个应用)
- 【leetcode】Same Tree(easy)
- Sql Server 2008修改Sa密码
- OC中几种集合的遍历方法(数组遍历,字典遍历,集合遍历)
- java socket 一个服务器对应多个客户端,可以互相发送消息
- jstl if条件判断字符串代码
- (转)用JS判断ckeditor3.6版本编辑器内容为空的方法
- SQL 数据库语言分析总结(三)
- JVM(HotSpot) 7种垃圾收集器的特点及使用场景
- 【堆】【洛谷例题】p1090 p1334 p1177
- 解决ionic <;ion-nav>; rootParams获取不到参数
- 05Hadoop 概论
- ionic 打包 报错Execution failed for task &#39;:processDebugResources&#39;. >; com.android.ide.common.process.ProcessException: Failed to execute aapt
- Python sqlalchemy orm 多对多外键关联
- TensorFlow 安装教程
- python-Levenshtein几个计算字串相似度的函数解析
- Objective-C内存布局
- Spring data jpa Specification查询关于日期的范围搜索
- jdbcmysql