C++编译连接总结(三)--cmake
2016-06-24 18:09
176 查看
一般建一个build文件夹,在build同目录下编写CMakeLists.txt文件
在build文件夹下
cmake ..
make
cmake 加的是CMakeLists.txt的文件的位置
cmake生成部分中间文件和 CMakeCache.txt
执行make时,其当前路径下必须有 Makefile
改动后要make
增加文件后,要cmake ..
CMakeLists.txt实例
PROJECT(Test)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
规定cmake程序的最低版本。这行命令是可选的,我们可以不写这句话,但在有些情况下,如果CMakeLists.txt文件中使用了一些高版本cmake特有的一些命令的时候,就需要加上这样一行,提醒用户升级到该版本之后再执行cmake。
INCLUDE_DIRECTORIES(/usr/include ${PROJECT_SOURCE_DIR}/include )
头文件路径,告诉编辑器头文件在什么位置
PROJECT_SOURCE_DIR是指工程顶层目录
LINK_DIRECTORIES(/home/lzhy/common/lib ${PROJECT_SOURCE_DIR}/lib )
库文件路径,告诉编辑器去哪里找库文件
AUX_SOURCE_DIRECTORY( ./ DIR_SRCS)
收集目录中的文件名并赋值给变量
ADD_DEFINITIONS(-g)
Debug版会使用参数-g;Release版使用-O3
–DNDEBUG
SET(TMP_SRCS ${DIR_SRCS} )
ADD_EXECUTABLE( Test ${TMP_SRCS} )
编译可执行程序
TARGET_LINK_LIBRARIES(Test myhello)
添加动态库和静态库
其他:
工程名字和代码路径的文件夹名字一致,其导出的文件也必须一致
在build文件夹下
cmake ..
make
cmake 加的是CMakeLists.txt的文件的位置
cmake生成部分中间文件和 CMakeCache.txt
执行make时,其当前路径下必须有 Makefile
改动后要make
增加文件后,要cmake ..
CMakeLists.txt实例
PROJECT(Test)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
规定cmake程序的最低版本。这行命令是可选的,我们可以不写这句话,但在有些情况下,如果CMakeLists.txt文件中使用了一些高版本cmake特有的一些命令的时候,就需要加上这样一行,提醒用户升级到该版本之后再执行cmake。
INCLUDE_DIRECTORIES(/usr/include ${PROJECT_SOURCE_DIR}/include )
头文件路径,告诉编辑器头文件在什么位置
PROJECT_SOURCE_DIR是指工程顶层目录
LINK_DIRECTORIES(/home/lzhy/common/lib ${PROJECT_SOURCE_DIR}/lib )
库文件路径,告诉编辑器去哪里找库文件
AUX_SOURCE_DIRECTORY( ./ DIR_SRCS)
收集目录中的文件名并赋值给变量
ADD_DEFINITIONS(-g)
Debug版会使用参数-g;Release版使用-O3
–DNDEBUG
SET(TMP_SRCS ${DIR_SRCS} )
ADD_EXECUTABLE( Test ${TMP_SRCS} )
编译可执行程序
TARGET_LINK_LIBRARIES(Test myhello)
添加动态库和静态库
其他:
工程名字和代码路径的文件夹名字一致,其导出的文件也必须一致
相关文章推荐
- C++编译连接总结(二)--自己的静态库动态库的编译与引用
- c++总结
- c++中的强制转换static_cast、dynamic_cast、reinterpret_cast的不同用法儿
- C++的template模板中class与typename关键字的区别分析
- 回顾一学期的c++课程学习
- C++继承之构造析构函数调用
- 【C语言】图书管理系统
- 再谈让C++更像C#:C#内存泄露问题
- C语言复习(1)
- 【C语言】企业员工信息管理
- Boost智能指针
- 【C语言】火车订票系统
- C语言 单引号 双引号问题
- 用C++语言写bmp文件的程序完整版
- C++第七次作业
- 合并排序
- 【C语言小游戏】 贪吃蛇
- C语言笔记系列(五)--字符输入输出和字符函数
- C语言二维数组的本质
- 解析C++中的虚拟函数及其静态类型和动态类型