2017-11-29 7 views
0

なぜVS2015でこのコマンドライン作業し発行します。基本的には同じコマンドラインは、VS2017に失敗した場合CUDA 9.0(2017)ホストとして - 非互換性が

"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/bin/nvcc.exe" -M -D__CUDACC__ D:/gPMCbct/RTK/code/rtkCudaCropImageFilter.cu -o D:/gPMCbct/RTK-build/code/CMakeFiles/cuda_compile_1.dir//cuda_compile_1_generated_rtkCudaCropImageFilter.cu.obj.NVCC-depend -ccbin "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin" -m64 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DITK_IO_FACTORY_REGISTER_MANAGER -Xcompiler ,\"/DWIN32\",\"/D_WINDOWS\",\"/W3\",\"/GR\",\"/EHsc\",\"/std:c++14\",\"/arch:AVX2\",\"/favor:INTEL64\",\"/openmp\",\"/bigobj\",\"/MDd\",\"/Zi\",\"/Ob0\",\"/Od\",\"/RTC1\" -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=compute_35 -DNVCC -ID:/gPMCbct/RTK "-IC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/include" -ID:/gPMCbct/ITKv4/Modules/Core/Common/include -ID:/gPMCbct/ITKv4-build/Modules/Core/Common -ID:/gPMCbct/RTK-build 

を:

"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/bin/nvcc.exe" -M -D__CUDACC__ D:/gPMCbct/RTK/code/rtkCudaCropImageFilter.cu -o D:/gPMCbct/RTK-build/code/CMakeFiles/cuda_compile_1.dir//cuda_compile_1_generated_rtkCudaCropImageFilter.cu.obj.NVCC-depend -ccbin "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/bin" -m64 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DITK_IO_FACTORY_REGISTER_MANAGER -Xcompiler ,\"/DWIN32\",\"/D_WINDOWS\",\"/W3\",\"/GR\",\"/EHsc\",\"/std:c++14\",\"/arch:AVX2\",\"/favor:INTEL64\",\"/openmp\",\"/bigobj\",\"/MDd\",\"/Zi\",\"/Ob0\",\"/Od\",\"/RTC1\" -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=compute_35 -DNVCC -ID:/gPMCbct/RTK "-IC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/include" -ID:/gPMCbct/ITKv4/Modules/Core/Common/include -ID:/gPMCbct/ITKv4-build/Modules/Core/Common -ID:/gPMCbct/RTK-build 

違いはホストコンパイラへのパス、つまり "-ccbin"引数だけです。

--verboseは、vcvars64.batの出力とすべての環境パスを出力し、%error_level% = 1で終了します。

両方のコマンドはCMakeで生成されます。

終了コード1は、何かを知っている以外には役に立ちません。が間違っていました。 コマンドが失敗する理由についての詳細情報を入手するにはどうすればよいですか? (いくつかのウィンドウのパスの問題は、いくつかは、/リンクの問題といくつかのソースコードの問題を含め)

私はスレッドとメーリングリスト上で同様の問題を発見したが、どちらかは、本当の問題は解決されなかったまたは溶液は、ここでは動作しませんでした

完全に異なるソースコードを持つ別のCMake生成プロジェクトでも同じ問題が発生します。

答えて

1

ソリューションが正しいcl.exeファイルパスにVS17のための-ccbinパスを変更するような単純なように見える、私の例では正しいパスをした:

C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.11.25503/bin/HostX64/x64/cl.exe 

-ccbin引数は同じですCMakeの変数CUDA_HOST_COMPILER

関連する問題