SLAM-ch2-cmake中使用库
1. 创建ibHelloSLAM.cpp
#include <iostream>
using namespace std;
void printHello()
{
cout<<"Hello SLAM!"<<endl;
}
2. 创建libHelloSLAM.h
#ifndef LIBHELLOSLAM_H_
#define LIBHELLOSLAM_H_
void printHello();
#endif
3. 创建CMakeLists.txt
#声明要求的cmake最低版本
cmake_minimum_required(VERSION 2.8)
#设置为调试模式
set(CMAKE_BUILD_TYPE "debug")
#声明一个cmake公程
project(HelloSLAM)
#生成共享库
add_library(hello_shared SHARED libHelloSLAM.cpp)
#添加一个可执行程序
#语法:add_executable(程序名 源文件名)
add_executable(useHello useHello.cpp)
#链接共享库
target_link_libraries(useHello hello_shared)
共享库是以.so结束的,如果希望配置为非共享库,则修改为
add_library(hello_shared libHelloSLAM.cpp)
4. 创建build目录保存编译生成的中间文件
创建build目录的好处在于保存中间生成结果,和源代码分离。
mkdir build
cmake ..
make
5. 运行可执行程序