1、使用G++编译
你有一个test.cpp文件
在终端输入 g++ helloSLAM.cpp
然后就会得到一个a.out 文件
在终端输入 ./a.out 就可以执行
在Linux系统下编译并执行C++程序_Joyce_Ng的博客-CSDN博客_linux 编译c++
2、使用Cmke 编译
你有一个test.cpp文件,然后你需要建立一个CMakeList.txt文件,内容如下
# 声明要求的 cmake 最低版本
cmake_minimum_required(VERSION 2.8)
# 声明一个 cmake 工程
project(HelloSLAM)
# 设置编译模式
set(CMAKE_BUILD_TYPE "Debug")
# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
add_executable(helloSLAM helloSLAM.cpp)
然后建立一个build 文件夹,cd进入然后
cmake ..
make
然后你就会在build里得到一个helloSLAM没有后缀的文件 ,在终端输入 ./helloSLAM就可以执行这个文件
3、使用库
前面那些文件都没用了,你需要重新建立一个空文件夹,在里面编写一个libHelloSLAM.cpp文件,内容如下(里面定义一堆函数)
//这是一个库文件
#include <iostream>
using namespace std;
void printHello() {
cout << "Hello SLAM" << endl;
}
然后复制之前的CMakeLists.txt文件,在此基础上增加命令变为如下模样:
# 声明要求的 cmake 最低版本
cmake_minimum_required(VERSION 2.8)
# 声明一个 cmake 工程
project(HelloSLAM)
# 设置编译模式
set(CMAKE_BUILD_TYPE "Debug")
# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
add_executable(helloSLAM helloSLAM.cpp)
# 添加hello库
add_library(hello libHelloSLAM.cpp)
# 共享库
add_library(hello_shared SHARED libHelloSLAM.cpp)
然后编写一个.h 的头文件文件,内容如下:

然后再编写主程序useHello.cpp
#include "libHelloSLAM.h" // 首先引入库的头文件
// 其次定义主函数
int main(int argc, char **argv) {
printHello(); //在主函数内使用 libHelloSLAM.h 中的 printHello() 函数,类似于python的import numpy,然后numpy.xx 这种。
return 0;
}
然后在CMakeList.txt编译文件中添加可执行文件
# 添加可执行程序调用hello库中函数
add_executable(useHello useHello.cpp)
# 将库文件链接到可执行程序上
target_link_libraries(useHello hello_shared)
然后建立build,
cd build
cmake ..
make
然后就会在build里面生成一个没有后缀的useHello文件
./useHello 就可以执行他
4、使用IDE(visual studio)
教程:Linux环境中Visual Studio Code的配置使用----编译运行C/C++(良心教程)_幼儿园老小的博客-CSDN博客
版权归原作者 毛脸雷公嘴的和尚 所有, 如有侵权,请联系我们删除。