5

VisualStudio2008でWindows764ビットを実行しています。CUDAドライバーとSDKをインストールしました。SDKには、コンパイルされた実行可能ファイルやソースコードなど、かなりの数の例が付属しています。コンパイルされた実行可能ファイルは素晴らしく実行されます。vc90ソリューションを開いて、Win32構成でビルドすると、次のエラーが発生します。

Error   1   fatal error LNK1181: cannot open input file '.\Release\bandwidthTest.cu.obj'    bandwidthTest   bandwidthTest

ビルドログ:

1>------ Build started: Project: bandwidthTest, Configuration: Release Win32 ------
1>Compiling with CUDA Build Rule...
1>"C:\CUDA\bin64\nvcc.exe"    -arch sm_10 -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin"    -Xcompiler "/EHsc /W3 /nologo /O2 /Zi   /MT  " -I"C:\CUDA\include" -I"../../common/inc" -maxrregcount=32  --compile -o "Release\bandwidthTest.cu.obj" "c:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\src\bandwidthTest\bandwidthTest.cu" 
1>nvcc fatal   : Visual Studio configuration file '(null)' could not be found for installation at 'c:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin/../..'
1>Linking...
1>LINK : fatal error LNK1181: cannot open input file '.\Release\bandwidthTest.cu.obj'
1>Build log was saved at "file://c:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\src\bandwidthTest\Release\BuildLog.htm"
1>bandwidthTest - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

x64でコンパイルしようとすると、まったくビルドされず、プロジェクトをスキップするだけです。

1>------ Skipped Build: Project: bandwidthTest ------
1> 
========== Build: 0 succeeded or up-to-date, 0 failed, 1 skipped ==========

私はC++を初めて使用し、しばらくの間C#を実行しています。私が見逃している小さなものがあると確信していますが、あなたが提供できる手がかりをいただければ幸いです。

4

3 に答える 3

2

x64コンパイラがインストールされているかどうかを確認します。次に、プロジェクトタイプをx64に変更します。64ビットのwin7で32ビットのcudaプログラムをコンパイルしようとしたときに同じ問題が発生しました。

また、64ビットライブラリとインクルードが検索パスに追加されていることを確認してください。

于 2010-01-05T14:22:26.837 に答える
2

あなたは間違ったエラーメッセージに焦点を合わせています。

nvccのコンパイル手順が失敗したため、.objファイルは存在しません。

nvcc fatal   : Visual Studio configuration file '(null)' could not be found for installation at 'c:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin/../..'
于 2010-01-05T21:06:06.530 に答える
1

すべてのツールが一致していることを確認する必要があります。したがって、64ビットのVisual Studioコンパイラがインストールされている場合は、64ビットバージョンのCUDAツールキットをインストールする必要があります。

32ビットのVisualStudioコンパイラしかない場合は、32ビットのCUDAツールキットをインストールできるはずです。理想的には、すべての64ビットツールをインストールします。次に、64ビットと32ビット(クロスコンパイル)の両方の例を作成できるようになります。

于 2010-01-05T16:41:57.290 に答える