我正在尝试在visual studio + opencv中编译一个简单的代码,但是出现了这个错误。
代码:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main ( int argc, char **argv )
{
Mat im_gray;
Mat img_bw;
Mat img_final;
Mat im_rgb = imread("001.jpg");
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);
adaptiveThreshold(im_gray, img_bw, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV, 105, 1);
imwrite("001-bw2.jpg", img_final);
return 0;
}
输出:
1>------ Build started: Project: pibiti, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'opencv_core231d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
链接器&gt;&gt;输入:
opencv_core231d.lib
opencv_highgui231d.lib
opencv_video231d.lib
opencv_ml231d.lib
opencv_legacy231d.lib
opencv_imgproc231d.lib
tbb_debug.lib
tbb_preview_debug.lib
tbbmalloc_debug.lib
tbbmalloc_proxy_debug.lib
tbbproxy_debug.lib
我该如何解决这个问题?文件'opencv_core231d.lib'已经存在,为什么会出现此错误?
答案 0 :(得分:6)
将库文件的路径添加到库路径。
右键单击该项目,然后转到Properties-&gt; Linker-&gt; Additional Library目录。添加此列表的路径。
答案 1 :(得分:1)
添加到此解决方案列表中,我只是将项目更改为64位。
答案 2 :(得分:0)
我有同样的问题。尽管确保库的路径是正确的,但我收到了“无法打开文件”错误。问题是我在链接器属性中的其他程序集引用中将dll命名为错误。我已按上述方式给出了它们(最后用“231”)。但实际Dlls的名称以“249”结尾。改变这解决了我的问题。可能对他人有帮助: - )
在此之后,项目将成功构建。但是您可能会发现计算机中缺少opencv_core249d.lib的运行时错误,您需要重新安装它。这是因为即使已将路径添加到环境变量中,也必须重新启动窗口以使其生效。这将解决它。
答案 3 :(得分:0)
我在 属性 - &gt;链接器 - &gt;其他库目录 中遇到了同样的问题, 我不得不替换
$(OPENCV_DIR)\lib
带
C:\opencv\build\x86\vc12\lib
在调试和发布中。
现在它有效。
答案 4 :(得分:0)
我遇到了类似的问题 - 我通过更改路径中的链接解决了这个问题。
而不是:$(OPENCV_DIR)\lib
或此类路径C:\opencv\build\x86\vc12\lib
只是在最后添加\
。
对我而言,它与C:\opencv\build\x86\vc12\lib\
一起工作,所以我没有尝试使用环境变量。