使用 opencv 构建项目时出错

Error on building project using opencv

本文关键字:出错 项目 构建 opencv 使用      更新时间:2023-10-16

我已经安装了Visual Studio 2013。

我下载了opencv 2.4.6.0。

我使用本教程在Windows上安装opencv并配置VS :http://opencv-srf.blogspot.ro/2013/05/installing-configuring-opencv-with-vs.html。

我有Windows 7 ultimate SP1 x64。

一切都很好,直到现在.

我将其复制粘贴到项目中,http://opencv-srf.blogspot.ro/2013/06/load-display-image.html 和CTR-F5项目中,并收到以下错误:应用程序无法正确启动(0xc0000007b)。单击"确定"关闭应用程序。

我研究了这个错误,发现它与dlls有关,但没有找到合适的解决方案。

如果您愿意,请确认我的这个快速想法:

  • 说你有"x64"架构,你提供的 OpenCV 教程使用 x86 .lib 文件来构建你的程序(我认为如果是这种情况,程序甚至不会构建,但如果你看到你是否使用相同的 x86 .lib 文件来构建,你不会受到伤害教程)

  • 检查程序在运行时需要的.dll文件的路径;查看您在 PATH 环境变量的配置中是否出错(它确实容易出错),另外,检查您放入 PATH 变量中的.dll的路径是 x64 的路径,而不是 x86 的路径。 您可以将程序需要的所有.dll文件放在程序目录中的同一文件夹中,这是不使用PATH环境的直接方法,Windows首先查看需要它们的程序的同一目录中的.dll文件。

  • 我注意到教程中的 main 函数不是简单的 main 它是_tmain,我记得这意味着您使用 Windows API 来创建 win32 应用程序。 尝试创建一个空的 C++ 控制台应用程序,这应该会给你一个 main 函数的声明,而不是 _tmain。http://msdn.microsoft.com/en-us/library/h9x39eaw%28v=vs.71%29.aspx

  • 如果是,请检查是否使用"预编译标头"构建,然后禁用它们。

祝你好运。

首先,尽可能尝试使用 CMAKE+VS 自己构建源代码。它确保生成系统所需的二进制文件,而不是其他任何内容。您可以使用官方指南作为参考(请注意,他们要求安装的很多东西都是可选的;仅下载并安装您需要的那些)。

接下来,使用 CMake 链接库并包含你自己的项目的目录。它使您的生活更轻松,也适用于将来将扩展/读取您的代码的任何其他人。例如,要链接 OpenCV,请将以下代码行添加到项目的 CMAKE 文件中:

FIND_PACKAGE( OpenCV REQUIRED )
TARGET_LINK_LIBRARIES( myProject ${OpenCV_LIBS} )

希望这有帮助。