本文介绍: 前面那些文件都没用了,你需要新建一个文件夹,在里面编写一个libHelloSLAM.cpp文件内容如下里面定义一堆函数然后你就会在build里得到一个helloSLAM没有后缀文件 ,在终端输入 ./helloSLAM就可以执行这个文件。你有一个test.cpp文件,然后需要建立一个CMakeList.txt文件,内容如下然后就会在build里面生成一个没有后缀useHello文件。在终端输入 ./a.out可以执行。然后就会得到一个a.out 文件。你有一个test.cpp文件。

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() 函数,类似于pythonimport 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博客

原文地址:https://blog.csdn.net/qq_48060228/article/details/127997103

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_29928.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注