关于pkg-config的使用示例--g++编译过程引入第三方库(如Opencv、Qt)
代码中引用了opencv的头文件
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
VsCode的 Intellisence 提示错误
无法打开 源 文件 "opencv2/opencv.hpp"C/C++(1696)
确认系统中 OpenCV 头文件的实际路径
# 查找 opencv2/opencv.hpp 的路径
find /usr -name "opencv.hpp" 2>/dev/null
常见输出结果(参考):
- 若安装的是 OpenCV 4.x,路径通常是:
/usr/include/opencv4/opencv2/opencv.hpp
- 若安装的是 OpenCV 3.x,路径通常是:
/usr/include/opencv2/opencv.hpp
#安装opencv
sudo apt update && sudo apt install libopencv-dev opencv-data
在 VS Code 中配置 includePath

{"configurations": [{"name": "Linux", // 环境名称,默认Linux即可"includePath": ["${workspaceFolder}/**", // 包含项目自身所有目录的头文件"/usr/include/opencv4" // 关键:添加OpenCV 4.x的头文件父目录],"defines": [],"compilerPath": "/usr/bin/g++", // 你的g++编译器路径(默认通常是这个)"cStandard": "c11","cppStandard": "c++11", // 与之前编译命令的-std=c++11对应"intelliSenseMode": "linux-gcc-x64" // 适配Linux的GCC编译器}],"version": 4
}
编译
g++ main.cpp -o main_ir_video -L. -lNetCore `pkg-config --cflags --libs opencv4` -std=c++11
这里使用了 ` ` 是反引号,美式键盘下和 ~ 一个键位。
作用是向语句中嵌入内容。也就是 pkg-config 工具的输出直接嵌入到指令中。