使用cmake编译hellowSLAM工程(P29)
在
http://github.com/gaoxiang12/slambook
中下载源代码,找到其中的ch2文件,其中有c++的文件CMakeLists.txt,对其进行操作。
在ubuntu中下载一个cmake,过程如下:
1. 官网下载cmake-3.12.2.tar.gz;
https://github.com/Kitware/CMake/releases/download/v3.13.2/cmake-3.13.2.tar.gz
2. 解压到指定目录;
tar -zxvf cmake-3.13.2.tar.gz
3、进入解压后的目录,依次运行指令
./bootstrap && make && make install
6、运行cmake -version查看版本信息:
cmake version 3.10.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
以下为c++的文件CMakeLists.txt的内容。
# 声明要求的 cmake 最低版本
cmake_minimum_required( VERSION 2.8 )
# 声明一个 cmake 工程
project( HelloSLAM )
# 设置编译模式
set( CMAKE_BUILD_TYPE "Debug" )
# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
add_executable( helloSLAM helloSLAM.cpp )
# 添加一个库
add_library( hello libHelloSLAM.cpp )
# 共享库
add_library( hello_shared SHARED libHelloSLAM.cpp )
add_executable( useHello useHello.cpp )
# 将库文件链接到可执行程序上
target_link_libraries( useHello hello_shared )
在ch2文件夹中打开终端:
midir build
cd build
cmake ..
make
其中CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:
cmake
make
,即如上所示
在终端输入
./helloSLAM
即可输出
Hello SLAM!
完成!