使用opencv构建项目时出错

时间:2013-11-07 15:40:01

标签: c++ opencv visual-studio-2013

我已经安装了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旗舰版SP1 x64。

直到现在都很好。

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

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

2 个答案:

答案 0 :(得分:0)

首先,尽可能使用CMAKE + VS自行构建源代码。它确保 ONLY 生成系统所需的二进制文件,而不是其他任何内容..您可以使用the official guide作为参考(注意他们要求安装的很多内容)是可选的;只下载并安装你需要的那些)..

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

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

希望这有帮助。

答案 1 :(得分:0)

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

  • 你说你有'x64'架构,你提供的OpenCV教程使用x86 .lib文件来构建你的程序(我想如果是这样的话,程序甚至不会构建,但你赢了'如果您看到使用相同的x86 .lib文件进行构建,则会受到伤害。

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

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

  • 检查您是否使用“预编译标头”构建,然后禁用它们。

祝你好运。