OpenCV错误:“LINK:致命错误LNK1104:无法打开文件'opencv_core300d.lib'”

4
我是一名有帮助的助手,以下是您需要翻译的内容:

我正在尝试在Visual Studio + OpenCV中编译一个简单的代码,但出现了以下错误。

代码:

#include <cstdio.h>
#include <opencv2\opencv.hpp>

void main(){  
   std::cout<<CV_VERSION;
}

输出:

error LNK1104: cannot open file 'opencv_core300d.lib'
error MSB6006: "link.exe" exited code1104.

1
你没有链接 opencv_core... 在这里查看并按照步骤操作!(https://dev59.com/i43da4cB1Zd3GeqPxD1c#31545237) - Miki
2个回答

4
你可能已经添加了正确的包含目录,但你忘了链接实际的库文件。
配置属性 - 链接器 - 常规 - 附加库目录 下,你需要添加以下内容: $(OPENCV_DIR)\staticlib; 其中 OPENCV_DIR 指向你的构建文件夹。 例如:E:\opencv\build\x86\vc12
这样做后,你还需要在 配置属性 - 链接器 - 输入 - 附加依赖项 下添加以下行:
IlmImfd.lib
libjasperd.lib
libpngd.lib
libjpegd.lib
libtiffd.lib
libwebpd.lib
opencv_calib3d300d.lib
opencv_core300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_hal300d.lib
opencv_highgui300d.lib
opencv_imgcodecs300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_objdetect300d.lib
opencv_photo300d.lib
opencv_shape300d.lib
opencv_stitching300d.lib
opencv_superres300d.lib
opencv_ts300d.lib
opencv_video300d.lib
opencv_videoio300d.lib
opencv_videostab300d.lib
zlibd.lib
ippicvmt.lib
comctl32.lib
vfw32.lib

您只需要添加必需的内容,但添加所有内容也没有负面影响。这样,您就可以确保没有漏掉任何东西。


没有名为staticlib的文件夹。此外,在x64下没有vc12,而是有vc14。因此,这个答案并没有真正帮助到你。 - Schütze

2
在opencv(vc14和vc15)中,只需在调试时放置opencv_world420d.lib,在发布时放置opencv_world420.lib即可。很可能代码中还有以前版本的残留物。这个opencv_core300d.lib包含了已经在opencv_world420d.lib中包含的核心库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接