Visual Studio 2013 LINK: 致命错误 LNK1181: 无法打开输入文件

Visual Studio 2013 LINK : fatal error LNK1181: cannot open input file

本文关键字:文件 输入 LNK1181 Studio 2013 LINK 致命错误 Visual      更新时间:2023-10-16

我正在使用Visual Studio 2013。 我正在尝试构建教授给我的一些代码,但不断收到此错误:

链接:致命错误LNK1181:无法打开输入文件 'C:\Users\manduchi\Documents\eyegaze\EyeGazeDemo..\Libraries\OpenCV\lib\opencv_core249.lib'

但是,在我的计算机上,opencv_core249.lib 位于其他地方。我尝试将链接器目录更新为计算机上的地址,但仍然收到错误。

这是我的尝试:

  • 在"配置属性-> VC++ 目录"下,我添加了将 .lib 文件包含在"包含目录"和"库目录中"中的文件夹的地址。
  • Linker-> General,并在那里添加了一个额外的库目录。
  • 链接器>输入并将"opencv_core249.lib"添加到其他依赖项

我是Visual Studio和C++的新手,所以我可能做错了?

更多信息:

  • 我正在我的Windows 7训练营上执行此操作
  • 代码在 U 盘上,因为我没有足够的空间训练营分区。

任何帮助将不胜感激!谢谢

更新

更新的错误消息

链接:致命错误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_核心300.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" "OpenCVModules.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\Libraries\OpenCV\lib"/LIBPATH:"E:\eyegaze\eyegaze\Libraries\Intraface\lib"/LIBPATH:"E:\eyegaze\eyegaze\EyeGazeDemo"/LIBPATH:"C:\opencv\build\x64\vc12\lib"/TLBID:1

删除对库的所有引用。该项目指向您上面给出的路径的某个地方,您需要将其删除。

然后将库添加到可执行项目中。右键单击>add->现有项目,将类型更改为"所有文件",然后浏览到文件位置。

您需要知道 .lib 文件的位置,然后需要将其添加到项目配置中。这将非常类似于添加DirectX库引用,BOOST等。我找到了以下帖子,其中显示了如何添加其他库

您还需要确保将更改应用于所有构建,以便涵盖发布、调试等。