Visual Studio代码:为OpenCV配置preLaunchTask

时间:2019-10-04 10:00:18

标签: c++ opencv visual-studio-code ubuntu-18.04

在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

0 个答案:

没有答案