用64位机器上的Visual Studio配置CUDA和OpenCV

问题描述:

自从过去1周以来,我一直试图在64位Windows XP机器上的Visual Studio 2008上配置OpenCV2.1和CUDA3.1。但一切都是徒劳的。用64位机器上的Visual Studio配置CUDA和OpenCV

单独的OpenCV工作正常。单独的CUDA3.1也正常工作。 我正在使用64位CUDA3.1 ...但对于OpenCV,我使用32位安装(在Source Forge上提供) - 可能的错误?

在当我配置OpenCV的设置,以及编译一个样本项目CUDA项目,我得到错误的以下文件:

cxcore.hpp cxoperations.hpp cxcore.hpp cxmat.hpp 和也CUDA构建规则。

以上所有文件都不是我自己写的;但是图书馆(我猜)。

任何方向在64位XP机器上安装CUDA,OpenCV over VS?

+0

请发布Visual Studio报告的错误。你编译了一个64位版本的cmake来构建项目文件,还是只下载了32位二进制文​​件? – 2010-09-29 04:29:58

+0

我刚刚使用Cmake的32位二进制文​​件。然后生成一个VS解决方案...为x64构建解决方案...但构建也显示错误。 – 2010-09-29 08:11:51

链接到您的应用程序的库应该已被编译到相同的拱门。你不能混合架构。

换句话说,你必须编译一切 - 您的应用程序,OpenCV的和CUDA - 被32bit的(或64位,如果你需要)。

我的建议是编译32位CUDA,然后更改项目的属性以将应用程序构建为32位(因为您已经拥有32位版本的OpenCV)。

编辑:

对于连接问题:

unresolved external symbol [email protected] 
unresolved external symbol [email protected] 
unresolved external symbol [email protected] 
unresolved external symbol [email protected] 

根据this post,这个库添加到您的项目设置:cufft.lib

我相信你需要构建Cmake的64位库 - 但我不确定。您肯定需要在x64中构建OpenCV以在Win XP x64安装上构建本机应用程序。如果OpenCV的构建出现错误,那么在尝试编译应用程序之前,您需要首先解决这些问题,而这些应用程序与尚未正确编译的OpenCV库相关联。