문제
error: no such file or directory: '`pkg-config opencv4 --cflags --libs`'
라는 메세지와 함께 컴파일이 되지 않았다.
tasks.json
의 내용을 그대로 터미널에 입력했을 땐 제대로 컴파일이 되어던 것으로 보아, vscode
자체의 문제로 생각했다.
해결
tasks.json
의 "args"
의 pkg-config
부분을 한 줄로 작성하지 않고 각각 분리시켜 작성하는 것으로 정상작동 확인하였다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc 활성 파일 빌드",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"`pkg-config",
"opencv4",
"--cflgas",
"--libs`",
"std=c++17"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "디버거에서 생성된 작업입니다."
}
],
"version": "2.0.0"
}
로 수정했을 때 정상동작하였다.
아무래도 pkg-config
를 작성했을 때 백틱 (`) 안에 띄어쓰기 등이 있으면 자동으로 따옴표가 붙어 파싱해주는 모양이다.
Reference
- 필자