1
votes

Comment résoudre: «nvcc fatal: impossible de configurer l'environnement pour Microsoft Visual Studio à l'aide de vcvars64.bat»

J'essaie de créer un projet CMake à l'aide de Visual Studio (mode dossier ouvert). Nvcc est requis pour générer le projet.

J'obtiens l'erreur suivante:

  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  

J'ai essayé différentes combinaisons de Nvidia CUDA Toolkit (10.0, 10.1) et Microsoft Visual Studio (2017 - MSVC 14.16, 2019 - MSVC 14.20). Aucun de ces éléments ne supprime l'erreur.

J'ai construit avec succès le projet sur d'autres machines, avec les mêmes versions de visual studio et nvcc.


0 commentaires

3 Réponses :


3
votes

J'ai eu le même problème, voici comment je l'ai résolu.

Vérifiez votre variable d'environnement PATH. Dans mon système PATH, l'une des valeurs était entourée de guillemets doubles. C'était le chemin vers une ancienne bibliothèque DirectX 9 que j'avais utilisée pour construire un vieux Winamp Visualizer lol.

Soyez prudent, car Windows 10 cache le fait que certaines valeurs PATH sont entourées de guillemets doubles. Lorsqu'il vous montre la liste de valeurs analysée, il n'affiche pas les guillemets doubles. Vous devez cliquer sur le bouton "Modifier le texte ..." pour voir la variable PATH sous la forme d'une longue chaîne. J'ai également supprimé tous les caractères "\" de fin de toutes les valeurs, mais je ne suis pas sûr que cela ait fait une différence.

Étant donné que ce sont des variables d'environnement avec lesquelles vous traitez, il est préférable de redémarrer après avoir modifié les guillemets doubles et d'essayer de construire à nouveau.

Si cela ne résout pas le problème, vous pouvez parcourir les fichiers batch et faire un débogage de pauvre homme en mettant «echo made it here» à divers endroits jusqu'à ce que vous trouviez d'où vient l'erreur.


0 commentaires

0
votes

J'ai eu le même problème.

Dans mon cas, ce n'était pas la variable PATH. Le problème est TEMP ou TMP, qui sont dérivés du nom d'utilisateur. Lorsque votre nom d'utilisateur contient un espace, vous devez définir TMP et TEMP sur des chemins sans espaces avant de commencer la compilation.


0 commentaires

0
votes

J'ai eu le même problème.

Dans mon cas, c'était à cause d'un autoexec incorrect dans ma ligne de commande. J'ai donc nettoyé l'entrée correspondante dans mon registre (HKLM \ Software \ Microsoft \ Command Processor \ AutoRun) et tout a commencé à fonctionner.

Si cela n'aide pas, je recommande de créer un nouveau compte sur votre PC et de le tester là-bas. Si tout fonctionne bien, c'est probablement quelque chose avec la configuration de votre profil Windows (comme dans mon cas).


0 commentaires