Visual Studio配置OpenCV后编译失败,请求排查报错原因
OpenCV在Visual Studio编译失败的解决办法
问题概述
按视频步骤配置OpenCV后编译失败,已完成以下操作:
- 将OpenCV路径加入环境变量
- 项目属性→C/C++→常规→附加包含目录:
C:\Users\Uporabnik\Documents\Library\opencv\build\include - 项目属性→链接器→常规→附加库目录:
C:\Users\Uporabnik\Documents\Library\opencv\build\x64\vc15\lib - 项目属性→链接器→输入→附加依赖项:
opencv_world460.lib
编译报错如下:
Build started... 1>------ Build started: Project: hhh, Configuration: Release x64 ------ 1>hhh.cpp 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(11,39): error C2065: 'CV_CAP_PROP_FRAME_COUNT': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(12,45): error C2065: 'CV_CAP_PROP_FRAME_COUNT': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(20,40): error C2065: 'CV_CAP_PROP_FRAME_WIDTH': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(20,79): error C2065: 'CV_CAP_PROP_FRAME_HEIGHT': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(21,46): error C2065: 'CV_CAP_PROP_FRAME_WIDTH': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(21,88): error C2065: 'CV_CAP_PROP_FRAME_HEIGHT': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(23,62): error C3861: 'CV_FOURCC': identifier not found 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(53,1): error C2018: unknown character '0x60' 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\hhh.cpp(53,2): error C2018: unknown character '0x60' 1>main.cpp 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(11,39): error C2065: 'CV_CAP_PROP_FRAME_COUNT': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(12,45): error C2065: 'CV_CAP_PROP_FRAME_COUNT': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(20,40): error C2065: 'CV_CAP_PROP_FRAME_WIDTH': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(20,79): error C2065: 'CV_CAP_PROP_FRAME_HEIGHT': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(21,46): error C2065: 'CV_CAP_PROP_FRAME_WIDTH': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(21,88): error C2065: 'CV_CAP_PROP_FRAME_HEIGHT': undeclared identifier 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(23,62): error C3861: 'CV_FOURCC': identifier not found 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(53,1): error C2018: unknown character '0x60' 1>C:\Users\Uporabnik\Desktop\C#\hhh\hhh\main.cpp(53,2): error C2018: unknown character '0x60' 1>Done building project "hhh.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== ========== Elapsed 00:04,338 ==========
错误修复方案
1. 标识符未定义问题
OpenCV 4.x已将原C风格宏迁移至cv命名空间,且部分宏名简化:
- 替换所有
CV_CAP_PROP_FRAME_COUNT为cv::CAP_PROP_FRAME_COUNT - 替换
CV_CAP_PROP_FRAME_WIDTH为cv::CAP_PROP_FRAME_WIDTH - 替换
CV_CAP_PROP_FRAME_HEIGHT为cv::CAP_PROP_FRAME_HEIGHT - 替换
CV_FOURCC为cv::VideoWriter::fourcc
或在代码开头添加using namespace cv;,直接使用不带命名空间的标识符。
2. 未知字符错误
错误提示的0x60是反引号(`),打开代码第53行,删除这些非法字符,确保代码仅含合法ASCII字符。
3. 配置细节验证
- 确认项目编译模式(Release)与依赖库
opencv_world460.lib匹配,Debug模式需改用opencv_world460d.lib - 检查附加包含目录路径,原路径
build\ include有多余空格,修正为build\include - 确认项目平台为x64,与OpenCV库的
x64目录匹配
内容的提问来源于stack exchange,提问作者Lanko321
相关产品推荐
相关产品推荐

