OpenCV核心DLL丢失了......突然间?

时间:2015-05-22 03:54:13

标签: c++ opencv

这是一个非常常见的问题,但它似乎也是最随意的。似乎有一百万种不同的东西可以造成它。

在64位VS2012上以RELEASE模式构建后运行构建后,我现在从您的计算机中找不到opencv_core249.dll

我没有更改我的PATH目录,我也没有更改我的程序的任何属性。我甚至没有改变任何代码。

有什么想法吗?我重新启动Visual Studio但无济于事。而且,它建立在RELEASE没有问题;它只是不会运行。它在DEBUG中完美运行,而另一个使用完全相同的属性表的项目没有问题。

更新:将所有必要的DLL复制并粘贴到目标输出目录可以解决问题....但肯定有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

在visual studio中开发程序时,可以设置include pathadditional libraries等变量,这些变量可以在特定项目的属性中找到。这些包含在整个项目中使用,并允许您拥有正确的库。

通常,当您完成开发时,您希望在没有IDE备份的情况下运行您的exe,这是当您收到此类错误时

那么为什么会出现这些错误?

这与静态动态链接之间的区别有关。 OpenCV库通常是动态链接的,其中库被赋予路径名。

如何在不复制/粘贴文件的情况下使用这些文件?

嗯,你需要转向静态链接,可以找到比我可以找到的更好的解释here。静态链接将库编译为可执行文件,因此它具有所需的所有信息,而不必依赖其他dll文件。