2016-11-22 3 views
0

最近私の責任に合格したコードをテストしようとしています。 CUDAのプロジェクトが私の仕事に合格したのですが、VS13の[Solution]の中に[新しいプロジェクト]を動かすことはできません。ビジュアル2013/CUDA:C2061構文エラー識別子テクスチャ、サーフェス

私はCUDA 6.5ランタイムプロジェクトを作成しました。自分のコードに必要な依存関係も追加しました。 コンパイル時に、いくつかの[エラーC2061:構文エラー:識別子 '面']または 'テクスチャ'が表示されます。

現在、私は紛失しています。私はプロジェクトに追加する必要があるいくつかの依存関係があると思いますが、このエラーメッセージを探す際には、関連するリソースをオンラインで見つけることは難しいです。私はすでに "compute_30、sm_30"を正しい場所(コンパイルするプロジェクトと同じ場所)に追加しました。

EDIT:ファイルスローエラーは、main関数に含まれるsomeClass.hに#includeされています。

次のように、問題はCUDA固有のファイルがビジュアルコンパイラに含まれていることです。

+0

あなたの質問は、発生したコードや問題(単一のエラーメッセージの一部分)に関する関連情報を提供していないため、現在のフォームでは回答できません。関連するコードとコンパイラ(出力ウィンドウ)からの正確な出力を提供して、質問を改善してください。 – Drop

+0

これは設定問題だと思ったからです。最初の答えが指摘するように、そうではありません。編集。 – Daimonie

答えて

1

クロス投稿hereで説明したように、この問題の根本的な原因は、surfacetextureキーワードが含まれたコードは、最終的に.cppファイルに

に含まれている.hファイルであるということですVS CUDAプロジェクトは、デフォルトで.cppファイルがWindowsのホストコードコンパイラであるcl.exeによってコンパイルされます。 .cuファイルはNVIDIA GPUコンパイラ/ドライバであるnvccによってコンパイルされます。

cl.exeはsurfaceまたはtextureキーワードを理解していないため、前述の構文エラーがスローされます。

唯一の解決策は、これらの構築物がsurfacetexture(およびその他のCUDA)のキーワードを理解するコンパイラである、NVCCにより、プロセスになりますファイルのみで表示され、またはに含まれる取得するようなプロジェクトを配置することです。

参照のために、サーフェイスとテクスチャの構造を使用するさまざまなCUDAサンプルコード(this oneなど)と、.cppファイルと.cuファイルでパーティション化されたプロジェクトコードがあります。そのようなプロジェクトをどのように編成するかの例を希望する場合は、これらを調べることができます。

+0

同じ問題が発生しますが、 'texture'キーワードは' cu'ファイルにあります。それはどうしたらできますか?私はVisual Studio 2015とWindows 10です。 – user3667089

関連する問題