OpenCV的程序不能因为在代码::块失踪“libgcc_s_dw2-1.dll”运行(OpenCV

2019-09-23 09:25发布

我写的尝试打开的图像在同一目录“点燃火,hd.jpg”一个简单的OpenCV程序。 所述IDE是代码::块和版本的OpenCV是2.4.2且编译器的MinGW已列为代码::块的分量。 代码如下所示:

#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
  Mat im = imread(argc == 2 ? argv[1] : "kindle-fire-hd.jpg", 1);
  if (im.empty())
  {
    cout << "Cannot open image!" << endl;
    return -1;
  }

  imshow("image", im);
  waitKey(0);

  return 0;
}

它可以建立和正确编译(没有任何错误和警告消息),我已经配置代码::块作为所述开始使用OpenCV的2.4和MinGW在Windows 7上 。

然而,当我“跑”这个节目。 它显示了一个“失踪libgcc_s_dw2-1.dll”的消息。

而且,当我点击“确定”按钮,在控制台窗口显示以下信息:

我试图寻找对计算器的相关问题,但他们所有的解决方案无法修复此问题。 谢谢。

Answer 1:

最后,我解决这个问题!

这个原因导致这种“缺少DLL”问题是MinGW的编译器附有代码::块不完整。 所以,你需要把所需的DLL文件下载到目录“C:\ Program Files文件(x86)的\代码块\ MinGW的\的libexec \ GCC \的mingw32 \ 4.4.1”,你还需要添加此目录的路径系统PATH环境变量。

在这种情况下,我下载两个DLL文件:libgcc_s_dw2-1.dll和libstdc ++ - 6.dll即使只有一个缺少有关libgcc_s_dw2-1.dll错误消息。 如果您忘记了第二个,的libstdc ++ - 6.dll,你会在程序运行时得到另一个失踪的消息。

第1个DLL,libgcc_s_dw2-1.dll,可以在问题喜好哪里可以获得libgcc_s_dw2-1.dll? ,其中的下载链接中列出了由作者罗德里戈选择的答案。 感谢家伙!

第二个DLL,的libstdc ++ - 6.dll,可以在下载http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.6.2-1/libstdc%2B%2B- 4.6.2-1-的mingw32-DLL-6.tar.lzma /下载



Answer 2:

对于什么都原因代码::块不会与DLL出货,但它可以通过google'd网站下载。 你可能会需要一个DLL等,这将是的libstdc ++ 6.dll

人们会告诉你在链接选项,至少我的版本-static-libgcc中,-static-或-static-的libg ++链接(可能你),它不会解决问题,除非我做错了,这是合理的。



文章来源: OpenCV program cannot run because of missing “libgcc_s_dw2-1.dll” in Code::Block