Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用opencv生成项目时出错_C++_Opencv_Visual Studio 2013 - Fatal编程技术网

C++ 使用opencv生成项目时出错

C++ 使用opencv生成项目时出错,c++,opencv,visual-studio-2013,C++,Opencv,Visual Studio 2013,我已安装visual studio 2013 我下载了opencv 2.4.6.0 我使用本教程在windows上安装opencv并配置VS: 我有Windows7 ultimate SP1 x64 直到现在一切都很好 我在项目和CTR-F5项目中复制粘贴此内容,并得到以下错误:应用程序无法正确启动(0xc0000007b)。单击“确定”关闭应用程序。 我研究了这个错误,发现它与DLL有关,但没有找到合适的解决方案。首先,尽可能使用CMAKE+VS构建源代码。它确保只生成系统所需的二进制文件,而

我已安装visual studio 2013

我下载了opencv 2.4.6.0

我使用本教程在windows上安装opencv并配置VS:

我有Windows7 ultimate SP1 x64

直到现在一切都很好

我在项目和CTR-F5项目中复制粘贴此内容,并得到以下错误:应用程序无法正确启动(0xc0000007b)。单击“确定”关闭应用程序。


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

首先,尽可能使用CMAKE+VS构建源代码。它确保只生成系统所需的二进制文件,而不生成其他文件。。您可以将其用作参考(注意,他们要求安装的很多东西都是可选的;只下载并安装您需要的东西)

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

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

希望这有帮助。

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

  • 您说过您有“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非main。

  • 检查是否使用“预编译头”生成(如果是),然后禁用它们


祝你好运。

有好运吗?你怎么了?对不起,我这周有点事,所以我不能早些回答,我解决了问题,我正在用x86配置构建应用程序,我把它改成x64配置,它就工作了。我的回答有帮助吗?如果是,请考虑将其标记正确,或在这里给出正确答案,甚至删除问题;我猜你不想让问题就这样悬而未决!