cmake的介绍和使用cmake实践

cmake的介绍和使用cmake实践

ID:8802875

大小:547.11 KB

页数:10页

时间:2018-04-08

cmake的介绍和使用cmake实践_第1页
cmake的介绍和使用cmake实践_第2页
cmake的介绍和使用cmake实践_第3页
cmake的介绍和使用cmake实践_第4页
cmake的介绍和使用cmake实践_第5页
资源描述:

《cmake的介绍和使用cmake实践》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Cmake的介绍和使用Cmake实践Cmake优点:1.       开发源代码,实用类BSD许可发布。2.       跨平台,并可以生成native编译配置文件,在linux/unix平台,生成makefile,在mac平台可以生成xcode,在windows平台可以生成msvc工程的配置文件。3.       能够管理大型项目4.       简化编译构建过程和编译过程,只需要cmake+make就可以5.       高效率6.       可扩展,可以为cmake编写特定功能的模块,扩

2、充cmake功能如何安装cmake1.       Cmake的安装可以使用autotools进行安装,点击cmake-2.8.6.tar.gz 链接,可以对软件进行下载。2.       ./configure3.       make4.       sudomakeinstall Cmake的原理 Helloworldcmake//main.cpp#include intmain(){   printf("helloworldfrommain");   return0;

3、} 创建CMakeLists.txt(注意大小写一个字母都不能错)向该文件中加入以下几行(稍后会做解释)PROJECT(HELLO)SET(SRC_LISTmain.cpp)MESSAGE(STATUS"ThisisBINARYdir"${HELLO_BINARY_DIR})MESSAGE(STATUS"ThisisSOURCEdir"${HELLO_SOURCE_DIR})ADD_EXECUTABLE(hello${SRC_LIST})运行以下命令:cmake.(别忘记加上这个点,表示当前目录

4、)注意执行完这句话之后会生成几个文件如下:CMakeFiles,CMakeCache.txt,cmake_install.cmake等文件,并且生成了Makefile然后执行make 就可以生成可执行文件hello这是当前目录下就会生成可执行文件如下图:对例子的解释:CMakeLists.txt的内容如下:PROJECT(HELLO)SET(SRC_LISTmain.cpp)MESSAGE(STATUS"ThisisBINARYdir"${HELLO_BINARY_DIR})MESSAGE(ST

5、ATUS"ThisisSOURCEdir"${HELLO_SOURCE_DIR})ADD_EXECUTABLE(hello${SRC_LIST}) Project的指令的语法是:PROJECT(projectname[CXX][C][JAVA])这个执行是用来定义工程的名称的和定义工程支持的语言。这个指令也隐式的定义了两个cmake变量:_BINARY_DIR以及_BINARY_DIR,这里就是HELLO_BINARY_DIR和HELLO_SO

6、URCE_DIR,两个变量指的都是当前工程的路径。SET指令的语法:SET(VAR[VALUE][CACHETYPEDOCSTRING[FORCE]])Set指令是用来显式的定义变量的,我们之前用到的是SET(SRC_LISTmain.cpp)如果有多个源文件,也可以定义成SET(SRC_LISTmain.cppt1.cppt2.cpp)。 MESSAGE指令的语法是:MESSAGE([SEND_ERROR

7、STATUS

8、FATAL_ERROR]"messagetodisplay"...)这个指

9、令用于向终端输出用户信息,包含三种类型:SEND_ERROR,产生错误,生成过程被跳过。SATUS,输出前缀为-的信息。FATAL_ERROR,立即终止所有cmake过程。我们在这里使用的是STATUS信息输出,显示了由PROJECT指令顶一顶两个饮食变量HELLO_BINARY_DIR和HELLO_SOURCE_DIR。 ADD_EXECUTABLE(hello${SRC_LIST})定义了这个工程会生成一个文件名为hello的可执行文件,相关的源文件是SRC_LIST中定义的源文件列表,本例

10、中你可以直接写成ADD_EXECUTABLE(hellomain.c)。 将本例改写成一个最简化的CMakeLists.txt:PROJECT(HELLO)ADD_EXECUTABLE(hellomain.c) 下面我们介绍一个比较实用的例子,即包含生成静态库又包含引入外部头文件和链接库的cmakedemo。先按照工程规范建立工程目录,并编写代码,以下面的工程目录为例进行解释这个例子,工程的目录结构为: 编译工程要实现的目标:1. 添加子目录doc,用以放置这个工程的文档hello.txt2. 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。