c++ - openCV 程序编译但在运行时崩溃

标签 c++ visual-studio-2008 windows-7 opencv

我刚开始在 Windows 7 上的 visual studio 2008 中使用 openCV(版本 2.4.1)。我按照

中的描述进行了安装和“hello world”程序

http://opencv.willowgarage.com/wiki/VisualC%2B%2B

How to install OpenCV 2.0 on win32

多亏了这些指令,我的程序编译得很好,没有任何错误。但是当我第一次运行它时,我得到了文件 opencv_core241d.dll 和 tbb_debug.dll 丢失的错误。所以很明显有些地方没有设置正确,但按照第一个链接中的说明,我将这些文件复制到 exe 所在的同一文件夹,第三次运行它,现在我得到了关于 libgcc_s_dw2-1.dll 丢失的弹出窗口。我已经在我的电脑上进行了搜索,但没有这样的 dll 可用。

我已经在线研究过这个问题,但还没有在网上看到任何关于此类问题的真正解决方案。我的猜测是缺少多个 dll openCV 没有正确安装,但我不知道到底发生了什么。

迫切需要任何帮助,我的头发和头皮会非常感激。

最佳答案

按照这些步骤进行尝试。

  1. 将 OpenCV 2.4.x 提取到您的主分区(我假设为 C\{opencvdir})

  2. C\{opencvdir}\build\x86\vc9\bin 添加到环境变量的path 变量中。并重新启动计算机(这些设置适用于 32 位 (x86) Windows 版本和 Visual Studio 2008 (VC9))。

  3. 现在创建一个新的 Visual Studio 项目并添加示例 OpenCV 代码。

  4. 转到项目属性 -> 配置属性 -> C/C++ -> 常规 -> 附加目录并添加:

    "C\{opencvdir}\include";
    "C\{opencvdir}\include\opencv";
    "C\{opencvdir}\include\opencv2"
    
  5. 转到项目属性 -> 配置属性 -> 链接器 -> 输入 -> 附加依赖项并添加:

    "C\{opencvdir}\build\x86\vc9\lib\opencv_core240.lib";
    "C\{opencvdir}\build\x86\vc9\lib\opencv_highgui240.lib";
    "C\{opencvdir}\build\x86\vc9\lib\opencv_imgproc240.lib";
    "C\{opencvdir}\build\x86\vc9\lib\opencv_video240.lib"
    

    (这些库用于基本应用程序。根据您的应用程序需要添加更多库)。

  6. 现在运行您的项目。

附言我的建议是使用带有 OpenCV 2.3.x 或更高版本的 Visual Studio 2010。

关于c++ - openCV 程序编译但在运行时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11478501/

相关文章:

c++ - 强制值为 boolean 值 : (bool) makes warning, !!没有

c# - 尝试在 visual studio 2008 中调试 winforms 应用程序时出错

windows-7 - 在 Windows 7 下远程锁定屏幕的脚本

c++ - 如何改进基于HOG特征的SVM分类器进行行人检测?

c++ - MySQL源代码中 "struct PSI_thread"的定义在哪里?

c++ - XShm 完成事件未设置显示文件描述符

c# - 在 VS 08 和 C# 中获得生产力的最快方法

c++ - Eclipse C.D.T.无法识别标准功能或 "NULL"

windows-7 - powershell 作为 gvim(vim) :shell

visual-studio-2010 - 无法安装 .NET Framework 3.5