0

過去 1 週間から、64 ビット Windows XP マシンの Visual Studio 2008 で OpenCV2.1 と CUDA3.1 を構成しようとしています。しかし、すべて無駄です。

OpenCV だけでも問題なく動作しています。CUDA3.1 だけでも問題なく動作しています。私は 64 ビットで CUDA3.1 を使用しています...しかし、OpenCV では、32 ビット インストールを使用しています (Source Forge で提供されているように) - エラーの可能性 ??

CUDA プロジェクトで OpenCV 設定を構成し、サンプル プロジェクトをコンパイルすると、次のファイルでエラーが発生します。

cxcore.hpp cxoperations.hpp cxcore.hpp cxmat.hpp および CUDA ビルド規則についても。

上記のファイルはすべて私が書いたものではありません。しかし、ライブラリです(私は推測します)。

64 ビット XP マシンに VS 経由で CUDA、OpenCV をインストールする方法はありますか?

4

2 に答える 2

3

アプリケーションにリンクされたライブラリは、同じアーキテクチャにコンパイルされている必要があります。アーキテクチャを混在させることはできません。

つまり、アプリ、OpenCV、および CUDA のすべてを 32 ビット(または必要に応じて 64 ビット)にコンパイルする必要があります。

私のアドバイスは、CUDA を 32 ビット用にコンパイルしてから、プロジェクトのプロパティを変更して、アプリケーションも 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 ビット ライブラリをビルドする必要があると思いますが、確かではありません。Win XP x64 インストールでネイティブ アプリをビルドするには、x64 で OpenCV をビルドする必要があります。OpenCV のビルドでエラーが表示される場合は、まだ正しくコンパイルされていない OpenCV ライブラリに対してリンクしているアプリをコンパイルする前に、最初にエラーを解決する必要があります。

于 2010-09-30T05:14:17.403 に答える