Как решить: «nvcc fatal: не удалось настроить среду для Microsoft Visual Studio с помощью vcvars64.bat» - PullRequest
0 голосов
/ 13 апреля 2019

Я пытаюсь построить проект CMake с использованием Visual Studio (режим открытой папки). Nvcc требуется для сборки проекта.

Я получаю следующую ошибку:

  The CUDA compiler

    "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/bin/nvcc.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: [PROJECT_PATH]/build/Test_Release/CMakeFiles/CMakeTmp

    Run Build Command:"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "cmTC_d4aa6"
    [1/3] Building CUDA object CMakeFiles\cmTC_d4aa6.dir\main.cu.obj
    FAILED: CMakeFiles/cmTC_d4aa6.dir/main.cu.obj 
    cmd.exe /C "C:\PROGRA~1\NVIDIA~2\CUDA\v10.1\bin\nvcc.exe     -x cu -c main.cu -o CMakeFiles\cmTC_d4aa6.dir\main.cu.obj && C:\PROGRA~1\NVIDIA~2\CUDA\v10.1\bin\nvcc.exe     -x cu -M main.cu -MT CMakeFiles\cmTC_d4aa6.dir\main.cu.obj -o CMakeFiles\cmTC_d4aa6.dir\main.cu.obj.d"
    nvcc fatal   : Could not set up the environment for Microsoft Visual Studio using 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.20.27508/bin/HostX64/x64/../../../../../../../VC/Auxiliary/Build/vcvars64.bat'
    ninja: build stopped: subcommand failed.



  CMake will not be able to correctly generate this project.        C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.13/Modules/CMakeTestCUDACompiler.cmake   46  

Я пробовал разные комбинации Nvidia CUDA Toolkit (10.0, 10.1) и Microsoft Visual Studio (2017 - MSVC 14.16, 2019 - MSVC 14.20). Ничто из этого не избавляет от ошибки.

Я успешно построил проект на других машинах, с теми же версиями visual studio и nvcc.

1 Ответ

0 голосов
/ 02 июня 2019

У меня была такая же проблема, вот как я ее исправил.

Проверьте переменную среды PATH. В моей системе PATH одно из значений было заключено в двойные кавычки. Это был путь к старой библиотеке DirectX 9, которую я использовал для создания старого Winamp Visualizer lol.

Будьте осторожны, поскольку Windows 10 скрывает тот факт, что некоторые значения PATH заключены в двойные кавычки. Когда он показывает вам проанализированный список значений, он не показывает двойные кавычки. Вы должны нажать кнопку «Редактировать текст ...», чтобы увидеть переменную PATH в виде одной длинной строки. Я также удалил все завершающие символы "\" из любых значений, но я не уверен, что это имело значение.

Поскольку вы работаете с переменными среды, лучше всего перезагрузить компьютер после того, как вы отредактируете двойные кавычки, и попытаться снова построить.

Если это не решит проблему, вы можете пройтись по пакетным файлам и выполнить отладку какого-нибудь бедного человека, поместив «echo made it here» в разные места, пока не найдете, откуда возникла ошибка.

...