一.下载安装Vscode
Download Visual Studio Code - Mac, Linux, Windows

进入路径或把包放桌面打开右键终端

你的文件名.deb
安装指令:
sudo dpkg -i 软件包名.deb
#若有报错
sudo apt --fix-broken install
二.VScode下面安装以下扩展和gcc与g++

gcc g++安装验证
sudo apt update && sudo apt install build-essential -y
gcc --version
g++ --version
三.下载安装cmake
# 1. 创建一个临时目录并进入
mkdir ~/cmake-temp && cd ~/cmake-temp
# 2. 下载 CMake 官方预编译包(以 3.24.4 为例,你可以去官网替换成其他版本号)
wget https://cmake.org/files/v3.24/cmake-3.24.4-linux-x86_64.sh
# 3. 添加执行权限
chmod +x cmake-3.24.4-linux-x86_64.sh
# 4. 执行安装(安装到 /opt/cmake 目录,避免覆盖系统默认文件)
sudo ./cmake-3.24.4-linux-x86_64.sh --prefix=/opt/cmake --skip-license
# 5. 创建软链接,让系统能够识别到该版本的 cmake
sudo ln -fs /opt/cmake/bin/cmake /usr/bin/cmake
# 6.安装验证
cmake --version
#有版本信息就是成功了
四.配置一下文件
用Vscode打开一个文件夹
新建.vscode、include、lib、src、text文件夹创建以下的文件

hello.cpp
#include "hello.h"
#include <iostream>
void Hello::sayHello() const {
std::cout << "[LIB] Hello from dynamic library!" << std::endl;
}
// ❌ 绝对没有 main 函数
hello.h
#pragma once
class Hello {
public:
void sayHello() const; // 仅声明
};
main.cpp
#include"hello.h"
void main()
{
Hello h1;
h1.sayhello();
}
CMakeLists.txt
# 指定CMake最低支持版本,低于此版本会报错
cmake_minimum_required(VERSION 3.10)
# 定义项目名称为HelloLib
project(HelloLib)
# 设置静态库输出路径:build/lib
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
# 设置动态库输出路径:build/lib
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
# 设置可执行程序输出路径:build/bin
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
# ===================== 新增:配置第三方SDK(libjakaAPI.so) =====================
# 配置头文件搜索路径(加载SDK的.h文件)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
# 配置动态库搜索路径(加载SDK的libjakaAPI.so)
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib)
# 编译动态库,库名hello,源文件src/hello.cpp
add_library(xzRobotSDK SHARED src/hello.cpp)
# 给动态库配置头文件路径
target_include_directories(xzRobotSDK
# 公共头文件路径,外部可调用
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
# 库内部私有源文件路径
PRIVATE src
)
# 生成可执行文件test_main,源文件text/main.cpp
add_executable(test_main text/main.cpp)
# 可执行文件链接:原有hello库 + 新增jakaAPI动态库
target_link_libraries(test_main PRIVATE
xzRobotSDK # 新增:链接libjakaAPI.so
)
# 给可执行文件配置头文件路径,能找到include/hello.h
target_include_directories(test_main
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
)
c_cpp_properties.json
{
"configurations": [ // 配置组
{
"name": "Linux", // 配置名称(Linux系统)
"includePath": [ // 头文件搜索路径(解决hello.h报红)
"${workspaceFolder}/include", // 项目头文件目录
"${workspaceFolder}/**" // 项目所有子目录
],
"defines": [], // 宏定义,无则为空
"compilerPath": "/usr/bin/g++", // C++编译器路径
"cStandard": "c17", // C语言标准版本
"cppStandard": "c++17", // C++语言标准版本
"intelliSenseMode": "linux-gcc-x64", // 智能提示模式
"configurationProvider": "ms-vscode.cmake-tools" // 从CMake获取配置
}
],
"version": 4 // 配置文件版本
}
launch.json
{
"version": "0.2.0", // 配置文件版本号,固定写法
"configurations": [ // 调试配置组
{
"name": "Debug test_main", // 调试配置名称(VS Code显示用)
"type": "cppdbg", // 调试类型:C/C++调试(GDB/LLDB)
"request": "launch", // 调试模式:启动程序调试
"program": "${workspaceFolder}/build/bin/test_main", // 要调试的可执行文件路径
"args": [], // 程序运行参数,无则为空
"stopAtEntry": false, // 是否在程序入口自动暂停
"cwd": "${workspaceFolder}", // 程序运行工作目录
// ✅ 已修改:配置动态库路径,让系统找到 libjakaAPI.so
"environment": [{"name": "LD_LIBRARY_PATH", "value": "${workspaceFolder}/lib"}],
"externalConsole": false, // 是否弹出外部控制台
"MIMode": "gdb", // 调试器类型:GDB(Linux默认)
"setupCommands": [ // GDB初始化命令
{
"description": "Enable pretty-printing for gdb", // 命令描述
"text": "-enable-pretty-printing", // 开启GDB美化打印
"ignoreFailures": true // 忽略命令执行失败
}
],
"preLaunchTask": "CMake Build", // 调试前自动执行的构建任务(和tasks.json对应)
"miDebuggerPath": "/usr/bin/gdb" // GDB调试器路径
}
]
}
tasks.json
{
"version": "2.0.0", // 任务配置版本,VS Code固定要求
"tasks": [ // 任务组
{
"label": "CMake Build", // 任务名称(launch.json要和它一致)
"type": "shell", // 任务类型:执行shell命令
// 构建命令:创建build文件夹→进入build→执行cmake→执行make编译
"command": "mkdir -p build && cd build && cmake .. && make",
"options": {
"cwd": "${workspaceFolder}" // 命令执行工作目录
},
"group": {
"kind": "build", // 任务类型:构建任务
"isDefault": true // 设置为默认构建任务
}
}
]
}
最后用Debug运行终端

就会有hello.world了