在64位计算机上使用Visual Studio配置CUDA和OpenCV

时间:2010-09-28 19:49:03

标签: c++ visual-studio opencv cuda hpc

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

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

在我配置OpenCV设置并编译示例项目的CUDA项目中,我收到以下文件的错误:

cxcore.hpp cxoperations.hpp cxcore.hpp cxmat.hpp 以及CUDA构建规则。

以上所有文件均不是我写的;但是库(我猜)。

在64位XP机器上通过VS安装CUDA,OpenCV的任何指示?

2 个答案:

答案 0 :(得分:3)

链接到您的应用程序的库应该已编译到同一个arch。你不能混合架构。

换句话说,您必须编译所有内容 - 您的应用,OpenCV和CUDA - 为32位(如果需要,则为64位)。

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

修改

对于链接问题:

unresolved external symbol _cufftExecR2C@12
unresolved external symbol _cufftExecC2R@12
unresolved external symbol _cufftPlan2d@16
unresolved external symbol _cufftDestroy@4

根据this post,将此库添加到您的项目设置中: cufft.lib

答案 1 :(得分:0)

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