关于pkg-config的使用示例--g++编译过程引入第三方库(如Opencv、Qt)

代码中引用了opencv的头文件

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

VsCode的 Intellisence 提示错误

cpp 复制代码
无法打开 源 文件 "opencv2/opencv.hpp"C/C++(1696)
确认系统中 OpenCV 头文件的实际路径
bash 复制代码
# 查找 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
bash 复制代码
#安装opencv
sudo apt update && sudo apt install libopencv-dev opencv-data
在 VS Code 中配置 includePath

c_cpp_properties.json 影响intellisence和编译器的查找路径

cpp 复制代码
{
    "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
}
编译
cpp 复制代码
g++ main.cpp -o main_ir_video -L. -lNetCore `pkg-config --cflags --libs opencv4` -std=c++11

这里使用了 ` ` 是反引号,美式键盘下和 ~ 一个键位。

作用是向语句中嵌入内容。也就是 pkg-config 工具的输出直接嵌入到指令中。

相关推荐
啊阿狸不会拉杆15 小时前
《机器学习导论》第 5 章-多元方法
人工智能·python·算法·机器学习·numpy·matplotlib·多元方法
薯一个蜂蜜牛奶味的愿15 小时前
模块化显示神经网络结构的可视化工具--BlockShow
人工智能·深度学习·神经网络
班德先生15 小时前
深耕多赛道品牌全案策划,为科技与时尚注入商业表达力
大数据·人工智能·科技
哈__15 小时前
CANN加速强化学习推理:策略网络与价值网络优化
人工智能
慢半拍iii15 小时前
ops-nn性能调优实战:提升神经网络推理速度的秘诀
人工智能·神经网络·ai·cnn·cann
hay_lee15 小时前
Spring AI实现对话聊天-流式输出
java·人工智能·ollama·spring ai
塔中妖15 小时前
CANN深度解读:从算子库看AI计算的底层架构
人工智能·架构
铁蛋AI编程实战15 小时前
MemoryLake 实战:构建超长对话 AI 助手的完整代码教程
人工智能·python·microsoft·机器学习
weixin_5498083615 小时前
2026 中国 AI 招聘系统市场观察:从效率工具到智能体协同,招聘正被重新定义
人工智能
张较瘦_15 小时前
[论文阅读] AI | 用机器学习给深度学习库“体检”:大幅提升测试效率的新思路
论文阅读·人工智能·机器学习