0

我在 Visual Studio 2012 IDE 中将 OpenCV 2.4.5 与 Visual C++ 项目一起使用。我的项目在DEBUG模式下正常工作,但在RELEASE模式下,我收到以下编译错误:

错误 LNK1181:无法打开输入文件“opencv_core245.lib”

然后我安装了 OpenCV 并设置了环境变量,如下所示:

  1. 创建了以下系统变量:OPENCV_BUILD,路径为 C:\opencv\build\
  2. 在Path变量中添加了以下内容:C:\opencv\build\x86\vc11\bin

然后,在 Visual Studio 2012 中,我为调试模式创建了一个新的属性表,如下所示:

单击视图>>属性管理器 右键单击调试>>添加新项目属性表

然后我按如下方式编辑了属性表:

C/C++ >> 常规 >> 附加包含目录: $(OPENCV_BUILD)\include;%(AdditionalIncludeDirectories)

链接器 >> 常规 >> 附加库目录: $(OPENCV_BUILD)\x86\vc11\lib;%(AdditionalLibraryDirectories)

链接器 >> 输入 >> 附加依赖项: opencv_core245d.lib;opencv_imgproc245d.lib;opencv_highgui245d.lib;opencv_ml245d.lib;opencv_video245d.lib;opencv_features2d245d.lib;opencv_calib3d245d.lib;opencv_objdetect245d.lib;opencv_contrib245d.lib;open_dflann2454d.lib; .lib;%(附加依赖项)

我按照相同的程序为发布模式创建了一个新的属性表(我也按照相同的程序编辑项目属性),但是对于 链接器 >> 输入 >> 附加依赖项,我从每个 .lib 文件名中省略了“d” (例如 opencv_core245.lib 而不是 opencv_core245d.lib)。

在我的代码中,我通常包含以下文件: #include <opencv2\highgui\highgui.hpp>

正如我之前提到的,在 DEBUG 模式下一切正常,但在 RELEASE 模式下,我得到以下编译错误:

错误 LNK1181:无法打开输入文件“opencv_core245.lib”

我在这个论坛上阅读了很多其他帖子,但似乎没有任何效果。谁能帮帮我,我真的很绝望。

4

6 回答 6

0

我只是试图在answers.opencv.org 上回答一个相关问题。

http://answers.opencv.org/question/11766/release-mode-error-c1083-cannot-open-include-file/?answer=25829#post-id-25829

简而言之,在处理损坏的属性文件时,VS2012 中可能存在一个错误。尝试重建您的属性文件。

于 2013-12-24T03:45:13.973 回答
0

当我开始使用 opencv.in Visual Studio 时,我曾经遇到过同样的问题,当你查看属性管理器时,如果你的机器架构是 x64 并且你有使用 x64 设置属性表中的属性,应确保将属性表添加到 release|x64 而不是 release|win32。

如果您的机器架构是 x86,并且您已使用 x86 设置属性表中的属性,则应确保将属性表添加到 release|win32 而不是 release|x64。希望有帮助

于 2014-12-12T18:15:14.023 回答
0

我遇到的问题与http://answers.opencv.org/question/11766/release-mode-error-c1083-cannot-open-include-file/?answer=25829#post-中的评论中详细描述的问题完全相同id-25829并且建议的想法似乎都不起作用。我认为为发布模式设置属性表存在一些问题,因此我没有制作新的属性表,而是从调试模式导入了属性表,而是将链接器->附加库更改为名称中没有 d 的发布版本。我不知道为什么,但是发布模式开始起作用了。

于 2014-10-10T10:28:46.937 回答
0

好吧,其实我以前也有这个问题。我认为我的上述答案可能是解决方案。这并不容易找到,但我设法找到了帮助我解决我过去遇到的同样问题的教程视频。

这是视频:http ://www.youtube.com/watch?v=cgo0UitHfp8

希望这会有所帮助,再次让我知道情况如何(:

于 2013-10-06T10:28:53.747 回答
0

您可以先尝试转到查看-> 属性页-> 配置属性-> 链接器-> 输入

在附加依赖项下添加“opencv_core245.lib”

如果它不起作用,请尝试将所有目录添加到“链接器,输入”中包含的 .dll 或 .libs 到“链接器,常规,附加库目录”中。

让我知道事情的后续。干杯! (:

于 2013-10-06T09:13:46.077 回答
0

切换到发布模式后,必须在(发布模式)项目属性中重新指定所有指向文件夹和库的链接。

于 2021-05-18T17:56:48.967 回答