这个问题被多次询问,有一些答案,但这个问题更具体,附加目录路径设置正确(找到文件)。
然而构建我的项目我收到以下错误:
fatal error C1083: Cannot open include file:
'opencv2/opencv.hpp': No such file or directory
但我可以右键点击该文件并在visual studio 2012中打开它吗?
我试过了:
1)指定完整路径:WORKS!
#include <D:\frameworks\opencv_2_4\build\include\opencv2\opencv.hpp>
2)将文件放到C:\不起作用! (添加。目录已添加)
3)使用相同的包含语法的空项目。 (添加。目录添加)。 WORKS!
4)我用CMake配置了VS2010版本的同一个项目,我遇到了同样的问题。
任何可能导致此错误的提示?
答案 0 :(得分:9)
打开配置属性&gt; C / C + +&gt;一般,并编辑该字段 附加包含要添加的目录 这三条路径(用于标题): C:\ OpenCV2.3 \编译\包括\ OpenCV的 C:\ OpenCV2.3 \编译\包括 \ opencv2 C:\ OpenCV2.3 \构建\包括
答案 1 :(得分:1)
project property =&gt; C / C ++ =&gt;一般=&gt;其他包括Directories =&gt; &#34;从openCV文件夹中输入库的地址,例如:C:\ opencv \ build \ include 如下图所示
答案 2 :(得分:1)
在我的情况下,问题与导出的类有关。
我有2个VS项目。我们将它们命名为A和B. 项目A使用项目B中的类;和项目B使用OpenCV类。 项目A没有使用(两个链接)OpenCV。 (你可以想象项目A在项目B中使用openCV。)
但是如果B的任何导出类(由A使用)都有一个类型为OpenCV的私有成员(例如cv :: Mat),那么就会出现错误C1083,尽管我已正确链接openCV项目B。
我的解决方案是要小心项目B的导出类的* .hpp文件中的包含。
希望它有用。
答案 3 :(得分:1)
除现有答案外。尝试改变
<opencv2/core.hpp>
到
"opencv2/core.hpp".
答案 4 :(得分:0)
这很有趣但似乎Visual Studio找不到rigt头文件只是因为Opencv2文件夹中没有Opencv2文件夹我的意思是在阅读源代码时
#include <opencv2/core/core.hpp>
并在include目录位置之后,因此
$(OPENCV_DIR)\构建\包括\ opencv2
他会尝试找一些
$(OPENCV_DIR)\构建\包括\ opencv2 \ opencv2 \芯\ core.hpp
他永远找不到因为基本目录不匹配
解决这个问题只需从include中删除基目录(opencv2) 指令:
#include <core.hpp>
我希望这会有所帮助
答案 5 :(得分:0)
您必须更改项目&gt;属性 - &gt;将平台更改为x64并再次设置bin,lib和include文件夹。
之后您还必须将“解决方案平台”选项卡从x86更改为x64。
在此之后,您将能够使用OpenCV。
答案 6 :(得分:0)
因为我正在使用64位窗口10,visual studio professional 2017,我按照以下步骤进行修复:
项目&gt;属性 - &gt;将平台更改为x64
项目属性&gt; C / C ++ - &gt;一般 - &gt;其他包括目录 - &gt; {DIR} {PATH} \ opencv \ opencv \ build \ include
项目属性&gt; C / C ++ - &gt;所有选项 - &gt;其他包括目录 - &gt; {DIR} {PATH} \ opencv \ opencv \ build \ include
项目属性&gt;链接器 - &gt;输入 - &gt;附加依赖性 - &gt;编辑.. - &gt;输入&#39; opencv_world330d.lib&#39; - &GT;好的 - &gt;好的
答案 7 :(得分:0)
如果将标题放在项目中。作为@CalaveraLoco的答案。可以使用相对路径访问标头。
但是最好在项目设置中包含项目文件夹路径。
Properties
。C/C++
General
$(ProjectDir);
添加到Addition Include Directories
答案 8 :(得分:0)
在Windows上:
当您调试应用程序时,请使用“ x64”模式
此功能可与VS2015一起使用,希望对您有所帮助。