vscode c++ 环境配置

安装gdb g++ cmake

sudo apt install build-essential gdb  g++-11 cmake
sudo apt install libopencv-dev
查询opencv header
//  pkg-config --cflags opencv4

// find /usr -name "opencv.hpp"

// #include <opencv2/opencv.hpp>
vscode 安装cpp 拓展
ms-vscode.cpptools-1.20.0@linux-x64.vsix

####### 配置 vscode 启动settings.json(.vscode/settings.json)

{
    "files.associations": {
        "ostream": "cpp",
        "iostream": "cpp"
    }
}

####### 配置 vscode 启动c_cpp_properties.json(.vscode/c_cpp_properties.json)

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/opencv4"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "gnu++17",
            "intelliSenseMode": "linux-gcc-x64",
            "configurationProvider": "ms-vscode.cmake-tools"
        }
    ],
    "version": 4
}
vscode 安装cmake 拓展
ms-vscode.cpptools-extension-pack-1.3.0.vsix
扫描已经安装的 cmake tool
// 按下 Ctrl + Shift + P。
//  输入:CMake: Scan for Kits( VS Code search /usr/bin/g++)
// 按下 Ctrl + Shift + P。
// 输入:CMake: Select a Kit。
// 选择已经安装的g++ GCC 11.x.x x86_64-linux-gnu( Ubuntu 22.04)
配置 vscode 启动launch.js(.vscode/launch.js) 启动程序
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) start",
            "type": "cppdbg",
            "request": "launch",
            "program": "${command:cmake.launchTargetPath}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": " gdb print",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "cmake_build_task",
            "miDebuggerPath": "/usr/bin/gdb" 
        }
    ]
}

配置 vscode 启动tasks.js(.vscode/tasks.js) camke
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "cmake_build_task",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g", 
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(yoyo_app)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)


find_package(OpenCV REQUIRED)


file(GLOB_RECURSE SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/source/*.cpp")


message(STATUS "Found SOURCES: ${SOURCES}")


if(NOT SOURCES)
    message(FATAL_ERROR "No source files found in ${CMAKE_CURRENT_SOURCE_DIR}/source/")
endif()


add_executable(${PROJECT_NAME} ${SOURCES})

target_include_directories(${PROJECT_NAME} PRIVATE 
    ${OpenCV_INCLUDE_DIRS}
    "${CMAKE_CURRENT_SOURCE_DIR}/source"
)


target_link_libraries(${PROJECT_NAME} PRIVATE 
    ${OpenCV_LIBRARIES}
)


# g++-11 -std=c++17 main.cpp -o opencv_test `pkg-config --cflags --libs opencv4`
# g++-11 -std=c++17 -c main.cpp -o main.o  -I/usr/include/opencv4
# g++-11 main.o -o yolo_app -L/usr/lib/x86_64-linux-gnu -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs
# cmake -DCMAKE_CXX_COMPILER=g++-11 ..

posted @ 2026-04-10 10:43  vx_guanchaoguo0  阅读(39)  评论(0)    收藏  举报