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
上一篇: 魔芋吃多少最合适你知道吗
下一篇: 长得丑,不配……
推荐阅读
-
cmake qt5
-
Linux源码安装mysql 5.5.13 (cmake编译)
-
OpenGL的环境搭建(cmake+glfw+glew+vs2017)
-
米尔MYD-YA157C中Qt的opencv库编译移植 cmake-gui
-
Windows下CMake编译VisualStudio2017工程项目
-
Linux-6.5下基于cmake28来编译安装mysql服务配置解析_MySQL
-
[cmake教程](一)cmake安装、环境搭建以及第一个项目
-
cmake ios终端下执行提示错误 iOS version not found, tested: [5.0;5.1;6.0;6.1;7.0;8.3]的解决方案
-
详解Android studio ndk配置cmake开发native C
-
cmake ios终端下执行提示错误 iOS version not found, tested: [5.0;5.1;6.0;6.1;7.0;8.3]的解决方案