0

我已经安装了 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)。单击确定关闭应用程序。

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

4

2 回答 2

0

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

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

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

希望这可以帮助。

于 2013-11-07T22:41:32.317 回答
0

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

  • 您说您拥有“x64”架构,并且您提供的 OpenCV 教程使用 x86 .lib 文件来构建您的程序(我认为如果是这种情况,程序甚至不会构建,但如果您看到,您不会受到伤害如果您使用与教程中相同的 x86 .lib 文件进行构建)

  • 检查程序在运行时需要的 .dll 文件的路径;看看你是否在 PATH 环境变量的配置中犯了错误(这真的很容易出错),另外,检查你放在 PATH 变量中的 .dll 的路径是 x64 的路径而不是 x86 的路径。另外,你可以把你的程序需要的所有.dll文件放在同一个文件夹的程序目录下,这是不使用PATH环境的直接方式,Windows首先查看需要的程序同目录下的.dll文件他们。

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

  • 如果是,请检查您是否使用“预编译头文件”构建,然后禁用它们。

祝您好运。

于 2013-11-07T23:16:18.313 回答