Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenCV核心DLL突然丢失?_C++_Opencv - Fatal编程技术网

C++ OpenCV核心DLL突然丢失?

C++ OpenCV核心DLL突然丢失?,c++,opencv,C++,Opencv,这是一个非常常见的问题,但它似乎也是最武断的。似乎有一百万种不同的东西可以导致它 在64位VS2012上以发布模式运行一个又一个构建之后,我现在得到一个opencv_core249.dll,它在您的计算机上丢失 我没有改变我的路径目录,我也没有改变我的程序的任何属性。我甚至没有修改任何代码 有什么想法吗?我重新启动了VisualStudio,但没有用。而且,它构建在发行版中没有问题;它就是跑不动。它可以在调试中完美地工作,而另一个使用完全相同的属性表的项目也可以正常工作 更新:将所有必需的DLL

这是一个非常常见的问题,但它似乎也是最武断的。似乎有一百万种不同的东西可以导致它

在64位VS2012上以发布模式运行一个又一个构建之后,我现在得到一个opencv_core249.dll,它在您的计算机上丢失

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

有什么想法吗?我重新启动了VisualStudio,但没有用。而且,它构建在发行版中没有问题;它就是跑不动。它可以在调试中完美地工作,而另一个使用完全相同的属性表的项目也可以正常工作


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

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

通常,当您完成开发时,您希望在没有IDE备份的情况下运行exe,这时会出现类似这样的错误

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

这与静态链接和动态链接之间的差异有关。OpenCV库通常是动态链接的,其中库被赋予一个路径名

我如何使用LIB而不复制/粘贴它们


你需要转向静态链接,一个比我能找到的更好的解释。静态链接是将库编译到您的可执行文件中,使其具有所需的所有信息,而不必依赖其他dll文件。

检查工作目录是否设置为dll文件所在的位置。如果您在ide中同时运行release和debug,则会有不同的工作目录。路径中的某个位置是否确实有opencv_core249.dll?我不使用VS,但可能它已更新,因此没有相同的名称。@WilliamKappler是的,我使用。我认为这不是问题所在issue@RetiredNinja当前位置我想你知道了。。。如何使用DLL的工作目录?因为当我将所有DLL复制并粘贴到输出目标目录时,它解决了我的问题。是否有办法将其构建到可执行文件中或正确链接到可执行文件?只需将它们复制并粘贴到与可执行文件相同的文件夹中,或将它们添加为正确的包含路径即可