#include <opencv2/opencv.hpp> 在 VS 2013 中不起作用

Posted

技术标签:

【中文标题】#include <opencv2/opencv.hpp> 在 VS 2013 中不起作用【英文标题】:#include <opencv2/opencv.hpp> not working in VS 2013 【发布时间】:2015-08-26 06:44:25 【问题描述】:

我有 VS2013 社区版,我刚刚将 OpenCV 安装在目录 c:\openCV3 中,并且有一个 build 子文件夹,其中包含该子文件夹等,一切看起来都很正常。所以我用#include &lt;opencv2/opencv.hpp&gt; 行创建了一个空项目,但我得到了

错误 1 ​​错误 C1083: 无法打开包含文件: 'opencv2/opencv.hpp': 没有这样的文件或目录 d:\devt\cplusplus\opencv\test1\test1\source.cpp 1 1 Test1

但是我已将项目的附加包含目录修改为:

C:\OpenCV3\build\include\opencv;C:\OpenCV3\build\include\opencv2;C:\OpenCV3\build\include;%(AdditionalIncludeDirectories)

但是什么都不做,错误并没有消失。以前问过几乎相同的问题,但答案对我不起作用。

更新: 我右键单击&lt;opencv2/opencv.hpp&gt;,然后在弹出菜单中选择 OpenDocument。 我收到以下消息框:

令我惊讶的是,没有提到我的一组额外的包含目录。

【问题讨论】:

C:\OpenCV3\build\include\opencv2 中是否有名为 opencv2.hpp 的文件 如果您在其他目录中使用"C:\OpenCV3\build\include\opencv2",您不应该只包含&lt;opencv2.hpp&gt; 而不是&lt;opencv2/opencv2.hpp 吗? 不应该是&lt;opencv2/opencv.hpp&gt;吗? 这是一个错字,这是我写的:#include (使用复制,粘贴) 【参考方案1】:

不要使用包含 C:\OpenCV3\build\include\opencv 和 C:\OpenCV3\build\include\opencv2,而是尝试使用C:\OpenCV3\build\include\。当您调用包含时,您已经在告诉您正在使用的文件夹:

#include &lt;opencv2/opencv.hpp&gt;

在这种情况下,VS 在文件夹 opencv2 中搜索 opencv2/opencv.hpp... VS 必须在文件夹 include 中搜索,所以它会找到 opencv2/opencv.hpp...

(或者您可以尝试将您的包含修改为“#include”

希望对你有帮助。

【讨论】:

你的建议是我尝试的第一件事,但它不起作用。 嗯。这很奇怪...您是否按照本教程中的步骤操作:docs.opencv.org/3.0-beta/doc/tutorials/introduction/…?其他模块工作正常吗?核心、imgproc、highgui...? 其他模块没试过,但肯定是VS2013社区版的问题。我想知道它是否有故意的限制。 这是一个很棒的教程,谢谢,我不知道它是否解决了我的问题,但我学到了很多东西。 嗯,有一种解决方法:将opencv2目录树复制到源项目中,并在每个地方将#include <...>替换为#include <...>。让我想知道 VS2013 社区版是残废还是错误。【参考方案2】:

我在 VS2013 中遇到了类似的问题 - 感觉 Additional Include Directories 无法正常工作。 但是,正如我后来发现的那样,在编辑时

项目 -> 属性 -> C/C++ -> 常规 -> 附加包含目录

我没有注意属性面板右上角选中的配置:Debug/Release等)。

您可以选择All Configurations,以便您的更改适用于ReleaseDebug 构建模式,或者您应该为每种构建类型设置适当的单独配置(设置Additional Include Directories 等)。

【讨论】:

是的,这对我有用——太奇怪了,因为我在 Pluralsight 中观看的教程中没有解释这一点。 Kobi Hikri 的 .NET 中的 OpenCV 入门。当教程中似乎缺少信息(所有事情!)时,让我发疯。

以上是关于#include <opencv2/opencv.hpp> 在 VS 2013 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

模板回文素数

REGEX

栈队列

单词数

凸包模板***

最短路