Mac安装OpenCV后编译报错'opencv2/core.hpp'文件未找到如何解决
排查解决步骤
- 首先确认
opencv2/core.hpp的实际存放路径
终端执行搜索命令:
该命令会返回core.hpp的完整绝对路径,比如返回find /Users/apple/Learning/openCV/cpp -name "core.hpp"/Users/apple/Learning/openCV/cpp/opencv2/core.hpp,就取路径中opencv2的上一级目录/Users/apple/Learning/openCV/cpp作为头文件搜索路径;如果返回/Users/apple/Learning/openCV/cpp/include/opencv2/core.hpp,就取/Users/apple/Learning/openCV/cpp/include作为搜索路径。 - 修正编译命令的头文件参数
把第一步拿到的路径替换到-I参数后,同时补充链接依赖库的参数,示例命令如下(请替换为你自己的路径):
额外说明:你之前只加了g++ imageRead.cpp -I/Users/apple/Learning/openCV/cpp/include -L/Users/apple/Learning/openCV/cpp/lib -lopencv_core -lopencv_imgcodecs-L库搜索路径参数,没有加-l指定需要链接的具体OpenCV库,头文件问题解决后会触发链接错误,提前加上对应参数可以避免二次报错。 - 可选简化方案:使用pkg-config管理编译参数
如果你编译安装OpenCV时生成了对应的.pc配置文件,可以先配置环境变量:
之后可以直接用简化命令编译,无需手动指定头文件、库路径和依赖库:export PKG_CONFIG_PATH=/Users/apple/Learning/openCV/cpp/lib/pkgconfig:$PKG_CONFIG_PATHg++ imageRead.cpp $(pkg-config --cflags --libs opencv4) - 额外提示:你提供的测试代码中
samples变量未定义,建议直接填写starry_night.jpg的绝对路径测试,避免出现额外的运行时错误。
内容的提问来源于stack exchange,提问作者Hemant Bhargava
相关产品推荐
相关产品推荐

