【发布时间】:2015-08-31 05:54:18
【问题描述】:
我正在使用 Visual Studio 2013。我正在尝试构建一些教授给我的代码,但我不断收到此错误:
LINK:致命错误 LNK1181:无法打开输入文件 'C:\Users\manduchi\Documents\eyegaze\EyeGazeDemo..\Libraries\OpenCV\lib\opencv_core249.lib'
但是,在我的计算机上,opencv_core249.lib 位于其他位置。我已尝试将链接器目录更新为我计算机上的地址,但我仍然收到错误消息。
这是我的尝试:
- 在配置属性-> VC++ 目录下,我在包含目录和库目录中添加了包含 .lib 文件的文件夹的地址。
- Linker-> General 并在那里添加了一个额外的库目录。
- Linker-> 输入并将“opencv_core249.lib”添加到其他依赖项中
我是 Visual Studio 和 C++ 的新手,所以我可能做错了?
更多信息:
- 我正在我的 Windows 7 Bootcamp 上执行此操作
- 代码在 U 盘上,因为我没有足够的空间 训练营分区。
任何帮助将不胜感激!谢谢
更新
更新错误信息
LINK:致命错误 LNK1181:无法打开输入文件 'opencv_calib3d300.lib'
我认为“opencv_calib3d300.lib”在链接器上->输入->继承值下的附加依赖项。
链接器命令行
/OUT:"debug\EyeGazeDemo.exe" /MANIFEST /NXCOMPAT /PDB:"debug\EyeGazeDemo.pdb" /DYNAMICBASE "glu32.lib" "opengl32.lib" "gdi32.lib" "user32.lib" " opencv_ts300.lib" "opencv_ts300d.lib" "opencv_world300.lib" "opencv_world300d.lib" "E:\Qt\5.0.2\msvc2012_64\lib\qtmaind.lib" "E:\Qt\5.0.2\msvc2012_64\lib \Qt5Cored.lib" "E:\Qt\5.0.2\msvc2012_64\lib\Qt5Widgetsd.lib" "E:\Qt\5.0.2\msvc2012_64\lib\Qt5Guid.lib" "opencv_calib3d300.lib" "opencv_contrib300.lib ” “opencv_core300.lib” “opencv_features2d300.lib” “opencv_flann300.lib” “opencv_gpu300.lib” “opencv_highgui300.lib” “opencv_imgproc300.lib” “opencv_legacy300.lib” “opencv_ml300d.lib” “opencv_nonfree300d.lib” “opencv_objdetect300d.lib” ” “opencv_ocl300d.lib” “opencv_photo300d.lib” “opencv_stitching300d.lib” “opencv_superres300d.lib” “opencv_video300d.lib” “opencv_videostab300d.lib” “kernel32.lib” “winspool.lib” “comdlg32.lib” “advapi32.lib” " "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" "OpenCVConfig.cmake" "OpenCVM odules.cmake" "OpenCVModules-debug.cmake" "OpenCVModules-release.cmake" "E:\eyegaze\eyegaze\Libraries\OpenCV\lib\opencv_core249d.lib" "E:\eyegaze\eyegaze\Libraries\OpenCV\lib\ opencv_imgproc249d.lib" "E:\eyegaze\eyegaze\Libraries\OpenCV\lib\opencv_highgui249d.lib" "E:\eyegaze\eyegaze\Libraries\OpenCV\lib\opencv_objdetect249d.lib" "E:\eyegaze\eyegaze\Libraries\ OpenCV\lib\opencv_ml249d.lib" "E:\eyegaze\eyegaze\Libraries\Intraface\lib\IntraFaceDLL-x86d.lib" /DEBUG /MACHINE:X86 /SAFESEH /INCREMENTAL:NO /PGD:"debug\EyeGazeDemo.pgd" /SUBSYSTEM:WINDOWS /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Win32\Debug\EyeGazeDemo.exe.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"C:\opencv\ build\x64\vc12\x64\vc11\lib" /LIBPATH:"E:\Qt\5.0.2\msvc2012_64\lib" /LIBPATH:"E:\eyegaze\eyegaze\Libraries\OpenCV\lib" /LIBPATH:" E:\eyegaze\eyegaze\Libraries\Intraface\lib" /LIBPATH:"E:\eyegaze\eyegaze\EyeGazeDemo" /LIBPATH:"C:\opencv\build\x64\vc12\lib" /TLBID:1
【问题讨论】:
-
请详细描述您更改链接器设置的步骤。
-
我右键单击给我错误的项目。然后我点击属性。在 Configuration Properties-> VC++ Directories 下,我在 Include Directories 和 Library Directories 中添加了一些目录。我还去了 Linker-> General 并在那里添加了一个额外的库目录。最后我去了 Linker-> Input 并将“opencv_core249.lib”添加到其他依赖项中。
-
看起来在“链接器输入”设置中直接设置了错误路径。也许在一个变量内。你能发布你的整个“链接器命令行”吗?
-
@Micka 我在帖子中包含了链接器命令行,谢谢!
-
你的项目似乎想要opencv_core249.lib,而你有opencv_core300.lib 只是改变版本号?
标签: c++ visual-studio opencv visual-c++ visual-studio-2013