Visual studio 2008 应用程序无法启动:VS中的OpenCV x64编译使用x86库
计算机:Windows 7 x64位,Visual Studio 2008 从SVN下载最新的OpenCV构建(2.3.3),并按照以下说明进行编译(http://opencv.itseez.com/doc/tutorials/introduction/windows_install/windows_install.html#windows-安装)使用适当的x86/x64替换件 除了(就像我以前使用的预编译版本一样)之外,所有的东西都编译得很好,但是每当我运行我自己的任何程序或/bin目录中包含的任何示例时,我都会遇到以下错误: 应用程序无法正确启动(0xc000007b)。单击“确定”关闭应用程序 因此,我下载了Dependency walker并发现以下依赖项错误:Visual studio 2008 应用程序无法启动:VS中的OpenCV x64编译使用x86库,visual-studio-2008,dll,opencv,64-bit,windows-7-x64,Visual Studio 2008,Dll,Opencv,64 Bit,Windows 7 X64,计算机:Windows 7 x64位,Visual Studio 2008 从SVN下载最新的OpenCV构建(2.3.3),并按照以下说明进行编译(http://opencv.itseez.com/doc/tutorials/introduction/windows_install/windows_install.html#windows-安装)使用适当的x86/x64替换件 除了(就像我以前使用的预编译版本一样)之外,所有的东西都编译得很好,但是每当我运行我自己的任何程序或/bin目录中包含
- MSVCP90.dll x86(红色)
- MSVCR90.dll x86(红色)
- TBB.dll x86(红色)
- IESHIMS.dll(缺少)
有什么想法吗?非常感谢。我解决了这个问题。cmake在生成我的解决方案时链接的TBB DLL是32位二进制文件。我从解决方案中删除了TBB,现在我可以运行OpenCV应用程序了
如果我对cmake有足够的了解,可以重写它,这样它就可以将程序指向正确的程序。当32位程序找到64位DLL时,就会发生这种情况。或者反过来说。Dumpbin.exe/headers是基本的疑难解答,看看“machine”。是的,我正在编译一个64位程序,前面提到的DLL是32位的,即不兼容,但问题是如何找到正确的DLL(它们不应该在VS2008 redist包中)和b)让我的程序用正确的链接编译。