UBuntu CMake工程配置基础

系统 1936 0

UBuntu CMake工程配置基础 - sheismylife的专栏 - 博客频道 - CSDN.NET


UBuntu CMake工程配置基础


分类:
C++


1024人阅读
评论 (1)
收藏
举报

 

 

install CMake

我用CMake并不关注它的跨平台特性,因为我只专注于64位 Linux C++ server领域。
sudo apt-get install cmake

chenshu@chenshu-ubuntu:~$ cmake —version
cmake version 2.8.3

HelloWorld工程

mkdir -p examples/helloworld
cd examples/helloworld

创建main.cpp 文件,代码如下:

  1. #include <stdio.h>   
  2. int  main()  
  3. {  
  4.     printf( "Hello World from Main!\n" );  
  5.      return  0;  
  6. }  


创建CMakeLists.txt文件,配置如下:

  1. PROJECT (HELLOWorld)  
  2. SET(SRC_LIST main.cpp)  
  3. MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR})  
  4. MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR})  
  5. ADD_EXECUTABLE(hello ${SRC_LIST})  


在同目录下,运行cmake .
chenshu@chenshu-ubuntu:~/Ubuntu One/c++/cmake/examples/helloworld$ cmake .
— The C compiler identification is GNU
— The CXX compiler identification is GNU
— Check for working C compiler: /usr/bin/gcc
— Check for working C compiler: /usr/bin/gcc — works
— Detecting C compiler ABI info
— Detecting C compiler ABI info - done
— Check for working CXX compiler: /usr/bin/c++
— Check for working CXX compiler: /usr/bin/c++ — works
— Detecting CXX compiler ABI info
— Detecting CXX compiler ABI info - done
— This is BINARY dir /home/chenshu/Ubuntu One/c++/cmake/examples/helloworld
— This is SOURCE dir /home/chenshu/Ubuntu One/c++/cmake/examples/helloworld
— Configuring done
— Generating done
— Build files have been written to: /home/chenshu/Ubuntu One/c++/cmake/examples/helloworld


Makefile以及其他一些文件被cmake生成了。执行make命令,hello二进制文件被编译出来。运行./hello,可以看到结果。
Hello World from Main!

make VERBOSE=1 可以看到详细的编译过程。
make clean 就可以清理工程

外部构建

HelloWorld采用内部构建,cmake产生的代码和自己的源代码文件在同一个目录,非常不好。因此需要采用cmake的外部构建方式。
创建helloworld2目录
这次创建一个src目录存放源代码,doc目录存放项目文档,
CMakeLists.txt需要出现在项目根目录和src目录中。
项目根目录下的内容如下:
project (HelloWorld2)
add_subdirectory(src bin)
src目录下内容如下:
add_executable(hello2 main.cpp)

创建一个build目录
cd build
cmake ..
make
build/bin下会找到hello2可执行文件。

支持gdb调试

在src/CMakeLists.txt文件中添加一行: set(CMAKE_BUILD_TYPE Debug)

UBuntu CMake工程配置基础


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论