0

Linux で単純な「何もしない」OpenCL アプリケーション (C++ で C API を使用) を作成して、OpenCL の速度に関するデータを取得しました。正常にコンパイルされ、エラーなしで実行されます。OpenCL をサポートするグラフィックス カードを持っていませんが、GPU でテストする必要があります。NVIDIA の CUDA Toolkit で提供される OpenCL 実装を使用して、友人の Windows 7 64 ビット コンピューターでアプリケーションを構築しようとしています。

CUDA\x64 の OpenCL.lib ファイルにリンクしようとすると、プログラム内の各 OpenCL 呼び出しに対して未定義の参照が取得されます (標準 C API を使用)。system32 ディレクトリの OpenCL.dll にリンクすると、同じことが起こります。CUDA ツールキットに付属の win32 ライブラリにリンクすると、エラーは発生しませんが、OpenCL はプラットフォームを取得できません。リンク時に取得するすべての未定義の参照には、シンボル名の末尾に @20 または @46 または乱数があります。この問題を解決する方法を知るには、Windows 開発に精通していません。私の問題は何ですか?

初心者向けで申し訳ありません。回答ありがとうございます。

4

1 に答える 1

0

リンク エラーが発生しないライブラリを使用することをお勧めします。あなたが得ている他のエラーは、一致しないコードを一緒にリンクしているためです。次に、プラットフォーム識別子がどうあるべきかを判断することに集中してください。私はあなたが近くにいたと思うが、あまりにも早くあきらめた

于 2011-02-16T16:29:48.293 に答える