2

VisualStudio2008を使用してNVIDIAGPUComputing SDKから例を作成しようとすると、次の奇妙なエラーが発生します。

"C:\CUDA\bin\nvcc.exe"    -arch sm_10 -ccbin "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin" -deviceemu -D_DEVICEEMU   -Xcompiler "/EHsc /W3 /nologo /Od /Zi   /MTd  " -I"C:\CUDA\include" -I"../../common/inc" -maxrregcount=32  --compile -o "Debug\matrixMul.cu.obj" "c:\Documents and Settings\All Users.SYSROOT\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\src\matrixMul\matrixMul.cu" 
nvcc fatal   : Could not open input file C:\DOCUME~1\Murali_Krishna05\Local Settings\Temp/tmpxft_000008cc_00000000-1
4

2 に答える 2

1

環境変数「TEMP=%USERPROFILE%\Local Settings\Temp」を「TEMP=%SystemRoot%\TEMP」に置き換えることで解決しました。

于 2010-02-22T10:44:45.013 に答える
0

これは、NVIDIA VS2008 統合の既知の古いバグです。それを解決するには、次の 3 つの手順をすべて実行する必要がありました。

  1. set TEMP=%SystemRoot%\TEMP
  2. とにかく余分な(そして危険な!set PATH= )引用符を避けるためにチェックしてください。それらを削除するだけです。個々のディレクトリはセミコロンで区切られており、スペースは問題ありません";
  3. (デフォルトの場所に VS2008 がインストールされていて、通常の Win64 および Win32 プラットフォームをターゲットにしていると仮定します) かっこの最初のペア()in"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat""C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"

ステップ 3 の例:

交換

@if not "%WindowsSdkDir%" == "" (
    set "PATH=%WindowsSdkDir%bin;%PATH%"
    set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%"
    set "LIB=%WindowsSdkDir%lib;%LIB%"
)

@if "%WindowsSdkDir%" == "" @goto :SKIP_SET_SDK
set "PATH=%WindowsSdkDir%bin;%PATH%"
set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%"
set "LIB=%WindowsSdkDir%lib;%LIB%"
:SKIP_SET_SDK
于 2016-10-18T08:48:18.150 に答える