0

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

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

在 CUDA 项目中,当我配置 OpenCV 设置并编译示例项目时,出现以下文件错误:

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

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

在 64 位 XP 机器上安装 CUDA、OpenCV over VS 的任何说明?

4

2 回答 2

3

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

换句话说,您必须将所有内容(您的应用程序、OpenCV 和 CUDA)编译为 32 位(如果需要,也可以编译为 64 位)。

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

编辑:

对于链接问题:

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

根据这篇文章,将此库添加到您的项目设置中:cufft.lib

于 2010-09-29T15:40:01.720 回答
0

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

于 2010-09-30T05:14:17.403 回答