Opencv 未在'中声明的封盖支柱框架宽度;如何在Microsoft Visual Studio';示例代码
我按照中的说明进行操作,但从示例代码中发现错误:Opencv 未在'中声明的封盖支柱框架宽度;如何在Microsoft Visual Studio';示例代码,opencv,visual-studio-2012,Opencv,Visual Studio 2012,我按照中的说明进行操作,但从示例代码中发现错误: 错误C2065:“CAP\u PROP\u FRAME\u WIDTH”:未声明的标识符 错误C2065:“CAP\U PROP\U FRAME\U HEIGHT”:未声明的标识符 错误C2065:“CAP\U PROP\U FRAME\U COUNT”:未声明的标识符 我认为未声明的标识符应该在highgui中声明,那么为什么尽管演示代码的#include,我还是不获取它们呢 以下是我采取的步骤 我已将OpenCV(版本2.4.6)文件解压
- 错误C2065:“CAP\u PROP\u FRAME\u WIDTH”:未声明的标识符
- 错误C2065:“CAP\U PROP\U FRAME\U HEIGHT”:未声明的标识符
- 错误C2065:“CAP\U PROP\U FRAME\U COUNT”:未声明的标识符
#include
,我还是不获取它们呢
以下是我采取的步骤
C:\OpenCV
,从提升的命令提示符运行setx-m OpenCV\u DIR C:\OpenCV\Build\x64\vc11
,并将%OpenCV\u DIR%\bin
添加到我的路径中(按照中的说明)。然后使用设置为“所有配置”的属性页(查看->属性页或Shift-F4)$(OPENCV\u DIR)\..\..\include
添加到我的C/C++附加include目录中$(OPENCV\u DIR)\lib
添加到链接器的其他库目录中C:\OpenCV\build\x64\vc11\lib
中的lib文件目录列表剪切粘贴到我的输入附加依赖项中int\u tmain(int-argc,\u-TCHAR*argv[])
更改为int\u tmain(int-argc,char*argv[])
我认为未声明的标识符应该在highgui中声明,那么为什么尽管演示代码的#include
,我还是没有得到它们呢
其他有类似问题的人在注释中使用此示例代码时,似乎会出现链接错误(例如和),但我正在通过链接器
=============编辑==========
对于示例代码,似乎有更多无法克服的困难。它是一个加载和显示图像的简单示例,其路径作为
main
的唯一参数提供,而代码列表本身是需要四个命令行参数的视频代码(即,如果argc!=5
,它首先检查并停止)。我已经提交了一份报告。我认为示例代码清单应该取自以下内容:尝试使用CV\u CAP\uuu或CV::CAP\uuu。。。看起来有一些旨在改进OpenCV中常量一致性的更改…我正在使用OpenCV 2.4.6,这帮助我实现了这一点
change CAP_PROP_FRAME_WIDTH into CV_CAP_PROP_FRAME_WIDTH
change CAP_PROP_FRAME_HEIGHT into CV_CAP_PROP_FRAME_HEIGHT
change CAP_PROP_FRAME_COUNT into CV_CAP_PROP_FRAME_COUNT
同样,如果有任何其他cap prop关键字进入cv cap prop关键字
试试这个。我也在OpenCV论坛上问过这个问题,我希望这不是不礼貌的礼节。我不知道这是否是一个问题,但您使用x64二进制文件进行x86配置。您已经设置了C:\OpenCV\Build\x64\vc11,请注意\x64\prefix。如果要在32位体系结构计算机上运行代码,请编辑C:\OpenCV\Build\x86\vc11的路径。否则,请在Configuration Manager>Active Solution Platfrom>>x64@OpenMinded你是对的。一旦我解决了问题是关于使用的问题,我就会得到一个链接错误:
错误LNK112:模块机器类型“x64”与您的建议修复的目标机器类型“X86”冲突。
就是这样,谢谢@morynicz。在OpenCV论坛上,berak注意到(在教程中)似乎与常量有一些混淆,并建议我在2.4.6中使用CV_CAP_PROP_*或在3.0中使用CV::CAP_PROP_*