0


Linux 编译C++程序的四种方法

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博客

标签: c++ 开发语言

本文转载自: https://blog.csdn.net/qq_48060228/article/details/127997103
版权归原作者 毛脸雷公嘴的和尚 所有, 如有侵权,请联系我们删除。

“Linux 编译C++程序的四种方法”的评论:

还没有评论