实验用CentOS7操作系统
如果没有C++编译环境键入下面命令:
安装gcc
yum install gcc
安装g++
yum install gcc-c++
安装gdb
yum install gdb
书中提到用下面这个命令
sudo apt-get install g++
并且还需要安装cmake
wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz tar xzvf cmake-3.3.2.tar.gz cd cmake-3.3.2 ./bootstrap gmake make install
这样cmake安装就完成了可以通过下面查看一下cmake版本
cmake --version
效果图
CMakeList.txt文件下
verion依据上面查看的cmake version进行填写
project只是工程名称
add_executable()的第一个参数决定这最后可执行程序的名称
建立一个build文件夹,把cmakelists文件放在上一层中,在bulid里面完成各种文件的编译,这样中间文件就可以被快速筛选出来。
mkdir build cd build cmake .. #如果cmakelist.txt在同一目录下就用一个. 上一层目录就是两个. make
产生的helloSLAM文件就是可执行文件
./helloSLAM
创建自定义cpp头文件
这种没有main函数的就不属于可执行cpp文件,可以被用作头文件
这样的文件编译需要在cmakelist.txt里面添加
add_librart(hello libHelloSLAM.cpp)
如果想要产生的库文件是共享库,则在中间添加一个“SHARED”,即
add_library( hello_shared SHARED libHelloSLAM.cpp )
之后进行cmake make等编译操作(在build文件夹下执行)
编写libhello的头文件 然后就可以使用这个自定义函数了。
针对这种自定义函数,需要在CMakelists里面进行添加,最后产生的Cmakelist如下所示,在build中编译后会产生一个usehello可执行文件