項目目錄結構
.vscode文件詳情
launch.json
{
// 使用 IntelliSense 瞭解相關屬性。
// 懸停以查看現有屬性的描述。
// 欲瞭解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": " build ",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/MULTI_BUILD_VSCODE",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "multi_build",
}
]
}
tasks.json
{
"tasks": [
{
"type": "shell",
"label": "multi_build",
"command": ". build.sh", ///usr/bin/g++
"group": {
"kind": "build",
"isDefault": true
}
}
],
"version": "2.0.0"
}
build.sh
cd ./build
cmake .. > TriffleInfo
make
CMakeLists.txt
cmake_minimum_required (VERSION 2.8)
project(MULTI_BUILD_VSCODE)
set(CMAKE_CXX_COMPILER "g++")
set (CMAKE_CXX_FLAGS "-g -fexec-charset=utf-8")
find_package(OpenCV REQUIRED)
if(CMAKE_VERSION VERSION_LESS "2.8.11")
include_directories(${OpenCV_INCLUDE_DIRS})
endif()
include_directories(${PROJECT_SOURCE_DIR}/inc)
aux_source_directory(./src SrcFiles)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
add_executable(MULTI_BUILD_VSCODE ${SrcFiles})
target_link_libraries(MULTI_BUILD_VSCODE ${OpenCV_LIBS})
src和inc目錄下文件
show.cpp
#include <iostream>
#include "a.h"
#include "b.h"
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(){
cout<< "main "<<endl;
a();
a();
b();
Mat img = imread("/home/strauss/Documents/multi_build_vscode/1.jpg");
imshow("img",img);
waitKey(0);
return 0;
}
運行結果
cmake-tools的使用
使用cmake-tools可以省去build.sh的創建和對應json文件的配置,操作如下:
下載安裝cmake-tools插件
在左側會自動生產圖標