热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CMake实践操作

CMake实践--操作---------Ubuntu14.041、创建一个cmake文件目录1mkdir-p~cmake2、在cmake文件下创建t1子目录1cd
CMake实践--操作

------

---Ubuntu 14.04

1、创建一个cmake文件目录

1 mkdir -p ~/cmake

2、在cmake文件下创建t1子目录

1 cd ~/cmake
2 mkdir t1
3 cd t1

3、在t1子目录下创建main.c 和 CMakeLists.txt(注意:文件名大小写!)

1 touch main.c
2 touch CMakeListst.txt

其中,main.c文件内容如下:

打开main.c文件:

gedit main.c

1 //main.c
2
3 #include
4 int main()
5 {
6 printf("Hello World from t1 Main!\n");
7 return 0;
8 }

其中,CMakeLists.txt内容如下:

gedit CMakeLists.txt

1 PROJECT(HELLO) #定义工程名称
2 SET(SRC_LIST main.c) #SET指令用于显式定义变量
3 MESSAGE(STATUS "This is BINARY dir" ${HELLO_BINARY_DIR}) #STATUS,输出前缀为-的信息
4 MESSAGE(STATUS "This is SOURCE dir" ${HELLO_SOURCE_DIR})
5 ADD_EXECUTABLE(hello ${SRC_LIST}) #工程生成一个文件名为hello的可执行文件

另外,CMakeLists.txt可简化为:

1 PROJECT(HELLO)
2 ADD_EXECUTABLE(hello ,main.c)

4、开始构建

当main.c文件及CMakeLists.txt文件创建完成后,进行构建工程,在该目录下运行:

1 cmake . (注意命令后面的点号,代表的是本目录)

运行cmake . 指令后,在目录下,可以看到有CMakeFiles、CMakeCache.txt、cmake_install.cmake等文件,并生成了Makefile。

之后,在该目录下输入:make 命令

 

这时候,目标文件hello已经构建完成,位于当前目录,运行下述指令:

./hello

得到输出:   Hello World from t1 Main!

5、在cmake文件下创建t2目录

将t1工程下的main.c 与 CMakeLists.txt 拷贝到t2目录下

6、在目录t2下添加src文件夹

1 cd ~/cmake/t2
2 mkdir src
3 mv main.c src

7、在文件夹src下创建一个CMakeLists.txt,添加内容如下:

ADD_EXECUTABLE(hello main.c)

 

8、在t2目录下(原从t1中拷贝的)CMakeLists.txt修改为:

1 PROJECT(HELLO)
2 ADD_SUBDIRECTORY(src bin)

9、在t2文件路径下,进行编译:

1 cmake .
2 make

 

 



posted on 2017-05-13 10:36 林先森_007 阅读(...) 评论(...) 编辑 收藏

转:https://www.cnblogs.com/LQLin168/p/6848300.html



推荐阅读
author-avatar
佩菱淑华7
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有