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 ..
本文来自博客园,作者:vx_guanchaoguo0,转载请注明原文链接:https://www.cnblogs.com/guanchaoguo/p/19845289

浙公网安备 33010602011771号