欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

cmake

程序员文章站 2022-05-28 17:45:33
...

cmake

在cmake工程中,根据CMakeLists文件内容,组织源文件和库文件,用cmake命令生成makefile文件,然后用make命令根据makefile文件得内容编译整个过程。

command window编译时的命令

//编译cmake工程,建立一个build文件夹存放编译过程中产生的中间文件。
//在终端以此输入如下命令
mkdir build
cd build
cmake ..
make

当提供了库文件和对应的头文件才可以调用该库。
在Linux中,库文件分为静态库(以.a为后缀名)和共享库(以.so为后缀名),两者区别在于静态库每次被调用都会生成一个副本,而共享库则只有一个副本。
库文件是压缩包,含有编译好的二进制文件,我们并不知道里面到底是什么,所以需要提供头文件,说明库里有什么。

库文件中是没有main 函数的

//libHelloSLAM.cpp
#inculde<iostream>
using namespace;
void printhello()
{
	cout<<"hello SLAM"<<endl;
}
头文件更多的是定义变量,声明函数;库文件更多的是函数的定义实现
头文件
//libHelloSLAM.h
#ifndef LIBHELLOSLAM_H_//防止重复定义
#define LIBHELLOSLAM_H_
void printHello();
#endif
//添加可执行程序的生成命令,链接到生成的库
add_executable(useHello useHello.cpp)
//添加可执行文件,语法:add_executable(程序名 源代码文件)
target_link_libraries(useHello hello_shared)
//将程序链接到库文件,语法:target_link_libraries(程序名 库名)

参考高翔------视觉slam14讲
https://cmake.org/cmake/help/latest/guide/tutorial/index.html

相关标签: slam14讲