Windows下首次配置OpenCV遇LINK 1104错误,寻求排查方案
解决OpenCV配置中LINK 1104无法打开lib.obj的问题
错误根源:你在「链接器 -> 输入 -> 附加依赖项」中填写的是目录路径
C:\opencv\build\x64\vc16\lib,但链接器需要的是具体的库文件名,而非目录。它误将该目录路径识别为要链接的.obj文件,因此抛出无法找到lib.obj的错误。修正步骤:
- 打开
C:\opencv\build\x64\vc16\lib目录,可见两类库文件:- 带
d后缀的是调试版(如opencv_world470d.lib),对应项目的Debug编译模式 - 不带
d后缀的是发布版(如opencv_world470.lib),对应项目的Release编译模式
- 带
- 根据当前项目的编译模式,将对应库文件名填入「附加依赖项」,替换原有的目录路径。例如Debug模式填
opencv_world470d.lib,Release模式填opencv_world470.lib。 - 确认「链接器 -> 常规 -> 附加库目录」的配置
C:\opencv\build\x64\vc16\lib是正确的,无需修改。 - 检查Visual Studio顶部工具栏的平台选项,确保选择的是
x64而非x86——你配置的是OpenCV的x64版本,平台不匹配会导致链接失败。
- 打开
优化技巧:若不想手动切换Debug/Release的依赖项,可利用Visual Studio的条件配置:
在附加依赖项中输入:opencv_world470$(DebugSuffix).lib;%(AdditionalDependencies)这样Debug模式会自动加载带
d后缀的库,Release模式加载不带d的库,无需重复修改配置。
内容的提问来源于stack exchange,提问作者hcaslan
相关产品推荐
相关产品推荐

