2011-11-14 7 views
26

をCUDAをコンパイル:エラーが私は、このコマンドだ 、コマンドプロンプト経由でWindows 7上のCUDAのテストプログラムをコンパイルしようとしているコマンドプロンプトから

nvcc test.cu 

しかし、私が得るすべては、このエラーです:

nvcc fatal : Cannot find compiler 'cl.exe' in PATH 

このエラーの原因は何ですか?

+0

この問題を修正した後に「corecrt.hが見つかりません」というエラーが表示された場合は、https://stackoverflow.com/questions/38290169/cannot-find-corecrt-h- universalcrt-includepath-is-wrong –

答えて

27

を見つけることができません。たとえば:

C:\Program Files\Microsoft Visual Studio 10.0\VC\bin 

編集: - > [プロパティ] - > [システムの詳細設定 - >環境変数[OK]を、[マイコンピュータ]に進みます。ここでリストの "PATH"を探し、上記のパスを追加します(またはcl.exeの場所は何でも構いません)。

+0

いいです、どうすれば追加できますか?私はLinuxで作業するのに慣れていますので、今はWindowsの方法には使用していません... – Imperian

+0

良いですが、別のエラーが発生しました: 'nvcc fatal:Visual Studio設定ファイル '(null)'できませんでした'C:¥Program Files(x86)¥Microsoft Visual Studio 9.0¥VC¥bin /../ ..'にインストールされています。 ' – Imperian

+1

この問題を解決するには、 - machine32をnvccのパラメータとして渡すだけです – Imperian

3

cl.exeは、MicrosoftのC/C++コンパイラです。だから問題は、コマンドラインがどこにそれを見つけることができる場所にインストールされていないということです。

1

nvccは、プログラムのCUDA固有部分のフロントエンドにすぎません。ジョブを終了するには、完全なコンパイラを起動する必要があります。この場合、それはあなたのPATH環境変数に「cl.exeの」ファイルを含むフォルダを追加する必要がありますVisual Studioのコンパイラ「cl.exeの」

チェックパス、NVCCドキュメントなど

0

これは古い質問ですが、最近CUDAプロジェクトをビルドしようとしたときにVisual Studio 2012でこのエラーが発生しました。どうやら私はCUDAプロジェクトを2012年11月のパックに変更しました。これは、通常はデフォルトでこのエラーを修正したv110に戻しています。

Visual Studioでは、CUDAプロジェクトを左クリックし、プロパティ - >構成プロパティ - >一般 - >プラットフォームツールセットを選択し、Visual Studio 2012(v110)を選択します。

2012年11月のパックで動作する可能性がありますが、CUDAコードはそのパックの追加機能を使用しないため、必要ありません。 (そのパックは、C++ 11のための可変引数テンプレートが含まれています。)

10

私のコンパイラはVS2012で、たとえば

nvcc x.cu ... -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin" 

をNVCCするために、このオプションを追加することによって、この問題を解決します。 cl.exeがこのディレクトリにある場合

+0

「この問題を編集する」ということを明確にすることはできますか? – skrrgwasme

+0

申し訳ありませんが、私は英語で申し訳ありません。 –

+0

PATH環境変数に '\ VC \ bin \'フォルダを追加することができませんでした(Win7)。あなたのソリューションは、しかし、うまくいった! MATLABのコードをコンパイルしようとしていました。ありがとう! –

関連する問題