学习CMAKE

一个简单的c/c++程序可以直接通过命令行手动编译,但是复杂的程序还是使用cmake自动编译更方便,并且程序结构层次也更清晰。这个时候需要根据实际情况适当编辑CMakeLists.txt文件。下面通过一个简单的实例说明cmake与CMakeLists.txt的应用。

  1. 新建一个文件夹,如Helloword-ws
  2. 在此文件夹中,建如下几个子文件夹,bin,lib,include和src,其中,
    bin 用来存放编译好的可执行二进制文件;
      lib 用来存放编译好的库文件;
      include 用来存放头文件;
      src 用来存放源代码.
  3. 编辑源程序
cd src
gedit Helloword.cpp

#include <iostream>

int main(int argc, char**argv)
{
    std::cout<<"Hello word!"<<std::endl;
    return 0;
}
  1. 编辑顶层目录的CMakeLists.txt
cd ..
gedit CMakeLists.txt

CMAKE_MINIMUM_REQUIRED( VERSION 3.1 ) #设定版本
PROJECT( Helloword-ws ) #设定工程名/命名空间名
SET( CMAKE_CXX_COMPILER "g++") #设定编译器

#设定可执行二进制文件的目录
SET( EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 
	
#设定存放编译出来的库文件的目录
SET( LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 

#并且把该目录设为连接目录,使库文件能链接到可执行文件
LINK_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib)
	
#设定头文件目录
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/include)
	
#增加子文件夹,也就是进入源代码文件夹继续构建,需要相应在src文件夹增加CMakeLists.txt
ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/src)

然后,在src文件夹中,编辑子目录的CMakeLists.txt

cd src
gedit  CMakeLists.txt
#在此文件中添加可执行文件
ADD_EXECUTABLE( main main.cpp )
  1. 编译
cd ..
mkdir build & cd build
camke ..
make
  1. 生成可执行程序
    按照顶层目录CMakeLists.txt的路径设置,在bin 文件夹中生产了可执行程序。

对cmake与CMakeLists.txt的更深刻的描述可参阅CMAKE相关的文献,此处不再赘述。

文献
[1]一起做RGB-D SLAM (1)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值