Ubuntu-Liunx下进行Vscode的C++编程——hello world_x64版本

一.下载安装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了

相关推荐
北暮城南1 小时前
VS Code 与 IDEA 集成 Claude Code 实战指南——基于智谱 AI 大模型的 AI 辅助编码环境搭建
vscode·idea·claude·intellij idea·claude code·claude code cli
前端小超人rui2 小时前
Jupyter 介绍
ide·python·jupyter
珂玥c2 小时前
新增硬盘有脏数据如何处理——ubuntu16.04
linux·数据库·ide
Abbylolo2 小时前
PyCharm 中接入 Cursor AI:通过 ACP 实现无缝协作
ide·python·pycharm
GentleDevin2 小时前
IntelliJ Idea常用快捷键(Window和Mac对照表)
java·ide·intellij-idea
AC梦2 小时前
在Claude Code中接入Deepseek-v4模型
vscode·ai
古城小栈2 小时前
Nano编辑器
编辑器
00后程序员张2 小时前
iOS开发中Xcode安装不完整问题解决方案与配置指南
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
NiceCloud喜云16 小时前
IntelliJ IDEA 保姆级安装 + ClaudeAPI 配置教程
java·开发语言·前端·ide·chrome·docker·intellij-idea