UBuntu CMake工程配置基础
来源:互联网 发布:数据库建立难不难 编辑:程序博客网 时间:2024/05/21 15:49
install CMake
我用CMake并不关注它的跨平台特性,因为我只专注于64位 Linux C++ server领域。
sudo apt-get install cmake
# cmake --versioncmake version 2.8.7
HelloWorld工程
mkdir -p examples/helloworld
cd examples/helloworld
创建main.cpp 文件,代码如下:
#include <stdio.h>int main(){ printf("Hello World from Main!\n"); return 0;}
创建CMakeLists.txt文件,配置如下:
PROJECT (HELLOWorld)SET(SRC_LIST main.cpp)MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR})MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR})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工程配置基础
- cmake配置工程
- 使用CMake配置QT工程
- CMake配置工程链接库
- CMAKE之配置windows驱动工程---VS2008
- cmake配置基本工程和多线程
- opencv 在ubuntu的cmake配置
- Ubuntu 12.04安装OpenCV 使用cmake创建测试工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- OpenCV基础篇之使用CMake管理工程
- 用命令行恢复MySQL数据库
- javascript 操作表格
- 第二章: GNU make 介绍
- 有限元软件开发的基本要求,你还差几条?
- 怎样获得积分啊
- UBuntu CMake工程配置基础
- 详解MANIFEST.MF文件
- Android中级教程之(六)----->Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)!
- 在线帮助手册
- oracle trunc (date,dd )函数
- Android的AsyncTask
- CSDN相册自动上传图片工具 [软件发布]
- 第一章:概述
- 怎样招聘出色的产品经理