CMake 学习--博主自行整理
来源:互联网 发布:ubuntu 系统剪贴板 编辑:程序博客网 时间:2024/06/07 06:58
参考文档:https://www.kancloud.cn/itfanr/cmake-practice/82981
->基本语法:
①PROJECT(projectname, [CXX] [C] [JAVA])
指定项目名称,[]可不写,不写默认都存在
②SET(value_change, value)
类似C语言中的宏定义,引用为${value_change}
③ADD_EXECUTABLE( hello ${SRC_LISTS})
生成可执行文件hello,SRC_LISTS为原文件
④ADD_SUBDIRECTORY(src bin)
表示该项目中的子目录,一般在最外层指定
⑤ADD_LIBRARY()
将源程序转换成库的形式
->工程形式的cmake
假设工程目录的地址为/test,将源程序放在/test/src中,并在/test/src目录下新建CMakeLists.txt,在该CMakeLists.txt中写针对于/test/src文件中的配置程序
as:PROJECT(HELLO)
SET(SRC,main.c)
ADD_EXECUTABLE(hello,${SRC})
在目录为/test中也需要新建一个CMakeLists.txt,在该CMakeLists.txt中主要写该项目的组成信息
as:PROJECT(HELLO)
ADD_SUBDIRECTORY(src)
采用外部运行的方式(这样可以将编译后的全部文件和源程序保持相对独立的关系)在/test文件夹下新建build文件夹,此时build路径为/test/build,在该目录下运行cmake .. 之后运行make就可以得到可执行程序
->将运行的程序保存成库的形式
ADD_LIBRARY()根据不同的参数可以生成不同形式的库,SHARED动态库 STATIC静态库 MODULE
as: SET(SRC hello.c)
ADD_LIBRARY(hello SHARED ${SRC})
执行的结果生成libhello.so文件
->调用第三方库
和Makefile类似,需要引入include所在的地址,lib所在的地址,并指定需要使用哪个lib文件
as:
PROJECT(HELLO)
SET(SRC main.c)
INCLUDE_DIRECTORIES(library_path) 引入调用include路径,类似Makefile中的-I
LINK_DIRECTORIES(lnk_path) 引入library路径,类似Makefile中的-L
ADD_EXECUTABLE(hello,${SRC}) 执行生成可执行程序hello
TARGET_LINK_LIBRARIES(hello test) 在可执行程序hello中调用了libtest.so,类似Makefile中的-ltest
- CMake 学习--博主自行整理
- cmake学习资料整理
- CMake 学习笔记整理(3)
- CMake 学习笔记整理(1)
- CMake 学习笔记整理(2)
- CMake 学习笔记整理(4)
- CMake 学习笔记整理(5)
- CMake 学习笔记整理(6)
- CMake 学习笔记整理(7)
- CMake整理
- .net数据库连接(自行整理)
- 【VC学习】Dialog1_2秒内按键次数计时_自行整理
- cmake使用整理
- CMAKE 选项 个人整理
- cmake使用整理
- cmake 常用知识整理
- CMAKE 常用命令整理
- CMake使用整理
- nginx和Apache该怎么选
- RocketMQ实战(四)
- Linux jogl配置
- 【考研经验随笔1】
- BZOJ 2152 聪明可可 (点分治
- CMake 学习--博主自行整理
- android开发之&android中的swift,android studio 安装kotlin插件
- Java虚拟机运行时内存区域
- 由file_get_contents所造成的服务器挂掉分析及解决方案
- Java、SQL Serve ----简单的增删查改
- net 正则表达式过滤 img 图片
- liunx下的僵尸进程和孤儿进程
- 条形码控件Dynamsoft Barcode Reader v5.1发布,新增JavaScript版本
- 自己写的类UCOS操作系统内核(源码)