在Ubuntu 18.04上使用VS Code对OpenCV进行简单的C ++测试。该代码包含在单个文件中,并可以从命令行构建:
g++ -ggdb `pkg-config --cflags opencv` -o `basename OpenCVtest.cpp .cpp` OpenCVtest.cpp `pkg-config --libs opencv`
可以在Visual Studio Code中更改源代码,从命令行重新编译,然后在Code中调试。现在,我尝试将preLaunchTask
(在launch.json
中)配置为自动构建应用程序(无需构建命令行)。
在launch.json
中设置以下行:
"preLaunchTask": "g++ build active file"
尝试1
在tasks.json
中,任务设置如下:
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-ggdb",
"pkg-config --cflags opencv",
"-o",
"basename ${fileBasename} .cpp",
"${fileBasename}",
"pkg-config --libs opencv"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
运行构建配置时,将执行以下任务:
/usr/bin/g++ -ggdb 'pkg-config --cflags opencv' -o 'basename OpenCVtest.cpp .cpp' OpenCVtest.cpp 'pkg-config --libs opencv'
有两个错误:
g++: error: unrecognized debug output level
g++: fatal error: no input files
我注意到任务没有达到预期的效果(从命令行编译时),所以我再次尝试。
尝试2
在tasks.json
中,任务设置如下:
"args": [
"-ggdb `pkg-config --cflags opencv` -o `basename ${fileBasename} .cpp` ${fileBasename} `pkg-config --libs opencv`"
],
运行此构建配置时,执行的任务是:
/usr/bin/g++ '-ggdb `pkg-config --cflags opencv` -o `basename OpenCVtest.cpp .cpp` OpenCVtest.cpp `pkg-config --libs opencv`'
这更接近于必需的命令行生成参数,但是仍然会产生相同的错误。
如何配置preLaunchTask
?