`
ribishuangba
  • 浏览: 290882 次
文章分类
社区版块
存档分类
最新评论

UBuntu CMake工程配置基础

 
阅读更多

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 文件,代码如下:

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

在同目录下,运行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)

分享到:
评论

相关推荐

    test_cmake大型项目组件配置案例

    环境ubuntu16.04,cmake版本3.5.1,其中test_cmake工程为案例,test_cmake_find用来依赖test_cmake工程。编译:1)在test_cmake/build下执行cmake ..然后make最后make install,会被安装到/usr/local目录下。2)在...

    C++通过CMake构建QT 5.12的工程模板

    使用方法一:按照普通的cmake工程使用,可使用自己喜欢的编辑器ide(如vscode clion)。界面文件.ui则通过qtcreator里修改。 使用方法二:使用qtcreator作为ide。首先打开qtcreator,点击打开工程,选择工程目录下...

    VSCode构建cmake工程

    可以去Ubuntu自带的应用商店下载,或者使用你命令行下载 2.设置中文显示 直接下载的是英文版本,需要设置成中文显示 先去VS Code自带的商店下载的插件,快捷键:Ctrl+Shift+x,搜索Chinese (Simplified) Language ...

    使用VScode搭建ROS开发环境的教程详解

    俗话说"工欲善其事必先利其器",之前在Ubuntu上运行的ROS项目都是用vim或者gedit编写和修改代码,然后在终端编译运行,很不方便,函数跳转查看都没办法实现。所以今天我决定找一个方便的开发工具,也就是找一个像...

    在clion上配置libtorch开发环境的图文详解

    而在ubuntu下使用CLion进行编程时,CLion对每一个工程都会默认生成一个cmake-build-debug文件夹,完全不需要创建build文件夹 因此本文说明如何在clion上配置libtorch开发环境 报错:  解决办法: 将CMakeLists....

    基于树莓派4B与Paddle-Lite实现的实时口罩识别+源代码+文档说明

    支持树莓派4B摄像头采集图像,关于此系统的安装教程以及摄像头的配置具体参考博客树莓派4B使用ubuntu-18.04.4-server 64位系统配置 gcc g++ opencv cmake的安装(以下所有命令均在设备上操作) -------- <项目介绍>...

    k-vim:vim配置

    病毒 版本:9.2 LAST_UPDATE_TIME:2017-07-29 本次更新:小版本更新,支持vim8语法检查 详细 目标 只是更好的Vim配置。...sudo apt-get install build-essential cmake python-dev #编译YCM自动补

    CarND-Capstone:该存储库将包含Udacity的无人驾驶汽车工程师Nanodegree的Capstone项目的实施

    如果使用虚拟机安装Ubuntu,请至少使用以下配置: 2个CPU 2 GB系统内存 25 GB的可用硬盘空间 Udacity提供的虚拟机已经安装了ROS和Dataspeed DBW,因此,如果使用此虚拟机,则可以跳过以下两个步骤。 请按照以下...

    无所不在的感知

    (配置环境为WSL,Ubuntu和MacOS)本文所有二进制可在下载。 总工程概览 2020.2.14更新 感谢几位给我小星星的同学,让我有动力完善下这个小框架。 2020年,《 VS Code已经发生了巨大的变化》,编辑器市场无人能敌。...

    SDC-Capstone

    如果使用虚拟机安装Ubuntu,请至少使用以下配置: 2个CPU 2 GB系统内存 25 GB的可用硬盘空间 Udacity提供的虚拟机已经安装了ROS和Dataspeed DBW,因此,如果使用此虚拟机,则可以跳过以下两个步骤。 请按照以下...

Global site tag (gtag.js) - Google Analytics