一、cmake制作工程并编译
1.新建CMakeLists.txt文件
#声明cmake最低版本
cmake_minimum_required(VERSION 2.8)
#声明一个cmake工程
project(HelloSLAM)
#添加一个可执行程序
#语法:add_executable(程序名 源代码文件)
add_executable(helloSLAM helloSLAM.cpp)
CMakeList.txt文件用于告诉cmake要对这个目录下的文件做什么
2.编译
在终端输入
mkdir build
cd build
cmake ..
make
新建了build文件夹,进入build文件夹,通过cmake ..命令对上一层文件,也就是代码所在文件夹进行编译。将cmake产生的中间文件生成到build文件夹中,与源代码分开。最后发布源代码时删除build文件夹即可。
二、使用库
c++中只有带有main函数的文件才能生成可执行程序。
库:打包好的,可供其他程序调用的
1.编写一个库
新建libHelloSLAM.cpp文件
//这是一个库文件
#include<iostream>
using std::cout;
using std::endl;
void printHello(){
cout<<"Hello SLAM"<<endl;
}
这个库提供了一个printHello函数,调用此函数将输出一条信息。但他没有main函数,意味着这个库没有可执行文件。
因此在CMakeLists.txt文件里加这样一句话:
add_library(hello_shared SHARED libHelloSLAM.cpp)//得到文件 libhello_shaerd.so .so结尾的文件是共享库,更省空间
库文件是一个压缩包,里面有编译好的二进制函数,需要编写一个头文件才能调用这个库。
2.编写头文件