为啥我收到无法打开文件'opencv_core2411d.obj'

Posted

技术标签:

【中文标题】为啥我收到无法打开文件\'opencv_core2411d.obj\'【英文标题】:why i am receiving cant open file 'opencv_core2411d.obj'为什么我收到无法打开文件'opencv_core2411d.obj' 【发布时间】:2015-03-23 14:14:45 【问题描述】:

我正在尝试在 Visual Studio 2013 中使用 openCV-2.4.11 库,为此我遵循了 this tutorial 和 this slideshare tutorial

不幸的是,每次我运行任何 C++ 代码甚至“Hello world”时,编译器都会生成此错误Link: fatal error LINK1104: cant open file 'opencv_core2411d.obj'

我也在 SO 中提到了一些问题,但他们没有详细说明,或者他们讨论了导入 opencv 库但在另一个 IDE 而不是 Visual Studio 中。

注意:我在“附加依赖项”字段中用作链接器输入的库:

opencv_calib3d2411d.lib
opencv_contrib2411d.lib
 opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_haartraining_engined.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_ml2411d.lib
opencv_nonfree2411d.lib
opencv_objdetect2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_videostab2411d.lib

我用的是win8

请提供将 opecv2.4.11 成功导入 visula studio 的步骤,并告诉我为什么会收到此错误

【问题讨论】:

提示:如果删除opencv_core2411d.lib 开头的空格会怎样?它在发布中工作吗? @Kornel 我检查了链接器->输入:我发现上面列出的库是在没有前导空格的情况下添加的 这很有趣,因为 VS 不应该自己链接任何目标文件。你确定你没有交换扩展名?您没有其他设置错误的项目吗? 你说的wapping设置是什么意思??因为我是 VS 和 C-++ 的新手,所以我在调试和发布中创建了一些项目,但我不知道它们是否会影响任何即将到来的项目!所以,是的,也许我创建了设置错误的项目,所以我应该知道什么 【参考方案1】:

根据我的经验,链接器错误:

链接:致命错误 LINK1104:无法打开文件“opencv_core2411d.obj”

通常意味着链接器找不到文件。这通常是因为链接器属性不正确。

查看linker->“Additional Library Directories”下的属性页,确保已填写且路径正确。

根据您的项目设置方式,您可能有不同的调试和发布配置设置。

【讨论】:

【参考方案2】:

我也遇到同样的问题很长一段时间了,在互联网上到处搜索后,我终于找到了解决方案。 这些输入文件是正确的,但您需要在 Linker->Input->Additional Dependencies 中提供完整路径。我会告诉你怎么做。

C:\opencv\build\x64\vc12\lib\opencv_calib3d2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_contrib2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_core2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_features2d2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_flann2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_gpu2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_highgui2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_imgproc2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_legacy2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_ml2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_objdetect2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_ocl2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_photo2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_stitching2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_superres2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_ts2411d.lib

C:\opencv\build\x64\vc12\lib\opencv_video2411d.lib
C:\opencv\build\x64\vc12\lib\opencv_videostab2411d.lib

同样在Linker->General->Use Library Dependency Input,点击yes 这肯定会有所帮助。

【讨论】:

以上是关于为啥我收到无法打开文件'opencv_core2411d.obj'的主要内容,如果未能解决你的问题,请参考以下文章

为啥我收到错误 LNK1104:无法打开文件 'glew32.lib'

无效或损坏的 lib 文件 opencv_core220d.lib

无法加载 DLL 'opencv_core242':找不到指定的模块。恩古简历

为啥我在运行后在 Flutter 上收到“无法执行 aapt”错误?

为啥在使用 AJAX/PHP 时收到未定义索引错误?

程序无法启动,因为缺少 opencv_core2410d.dll