Visual Studio 2013 LINK:致命错误 LNK1181:无法打开输入文件
Visual Studio 2013 LINK : fatal error LNK1181: cannot open input file
我正在使用 Visual Studio 2013。我正在尝试构建教授给我的一些代码,但我不断收到此错误:
LINK : fatal error LNK1181: cannot open input file
'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 Bootcamp
- 代码在 U 盘上,因为我没有足够的 space
训练营分区。
如有任何帮助,我们将不胜感激!谢谢
更新
更新了错误消息
LINK : fatal error LNK1181: cannot open input file
'opencv_calib3d300.lib'
我认为'opencv_calib3d300.lib'在Linker->input->Additional Dependencies under inherited values.
链接器命令行
/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.0.2\msvc2012_64\lib\qtmaind.lib" "E:\Qt.0.2\msvc2012_64\lib\Qt5Cored.lib" "E:\Qt.0.2\msvc2012_64\lib\Qt5Widgetsd.lib" "E:\Qt.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" "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.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
删除对库的所有引用。该项目指向您在上面提供的路径的某个地方,您需要将其删除。
然后将库添加到可执行项目中。右击->添加->现有项目,将类型更改为所有文件,然后浏览到文件位置。
您需要知道 .lib 文件的位置,然后需要将其添加到您的项目配置中。如果您要添加 DirectX 库引用、BOOST 等,它将非常相似。我发现以下 post 显示 how to add additional libraries
您还需要确保应用所有构建的更改,以便您可以进行发布、调试等。
我正在使用 Visual Studio 2013。我正在尝试构建教授给我的一些代码,但我不断收到此错误:
LINK : fatal error LNK1181: cannot open input file '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 Bootcamp
- 代码在 U 盘上,因为我没有足够的 space 训练营分区。
如有任何帮助,我们将不胜感激!谢谢
更新
更新了错误消息
LINK : fatal error LNK1181: cannot open input file 'opencv_calib3d300.lib'
我认为'opencv_calib3d300.lib'在Linker->input->Additional Dependencies under inherited values.
链接器命令行
/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.0.2\msvc2012_64\lib\qtmaind.lib" "E:\Qt.0.2\msvc2012_64\lib\Qt5Cored.lib" "E:\Qt.0.2\msvc2012_64\lib\Qt5Widgetsd.lib" "E:\Qt.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" "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.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
删除对库的所有引用。该项目指向您在上面提供的路径的某个地方,您需要将其删除。
然后将库添加到可执行项目中。右击->添加->现有项目,将类型更改为所有文件,然后浏览到文件位置。
您需要知道 .lib 文件的位置,然后需要将其添加到您的项目配置中。如果您要添加 DirectX 库引用、BOOST 等,它将非常相似。我发现以下 post 显示 how to add additional libraries
您还需要确保应用所有构建的更改,以便您可以进行发布、调试等。