nvcc verschwunden.

DKK007

PCGH-Community-Veteran(in)
Nach dem setzen der Systemvariablen für die cl.exe wird jetzt plötzlich der Befehl nvcc nicht mehr gefunden. Woran kann das liegen?

Weiß jemand, wie der Kopilierbefehl lautet. Hab mir den vergessen aufzuschreiben.
 
Zuletzt bearbeitet:
Da hat Dir wohl einer den PATH verdreht. Entweder im alten Backup nachsehen :) oder das CUDA-Toolkit nochmal installieren.

U.U. liegt der Compiler ja da, wo er 2012 bei diesem User auch gelegen hat:
windows - Compile CUDA without Visual Studio - "Cannot find compiler cl.exe in path" - Stack Overflow
und es genügt, den Pfad in Deinen PATH mit aufzunehmen. Bei VS würde sowas nicht reichen, das zugehörige Batch-File setzt dutzende von Pfaden.

Sonst einfach auf der Platte danach suche (scheint ja nvcc.exe zu heißen).

Nach dem setzen der Systemvariablen für die cl.exe
Falls Du das von Hand getan hast, dann liegt der Verdacht nahe, dass irgendwo in der Definition des PATH ein Fehler ist (z.B. Komma oder Doppelpunkt anstatt Semikolon als Trennzeichen oder sonst ein ungültiges Zeichen)
 
Die exe ist noch da. Hab jetzt einfach den kompletten Pfad in die Konsole kopiert. Auch wenn das bei der Windowskonsole grausam ist.
Mir ist jetzt auch der Befehl fürs kompilieren wieder eingefallen: "...\nvcc.exe" cuda_06.cu -o ueb6.exe

Jetzt kommt aber dieser Fehler: fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory.

Wäre wohl schneller gegangen, ein Linux mit nvcc aufzusetzen, als diesen VisualStudio Schrott zu installieren.
 
Die exe ist noch da. Hab jetzt einfach den kompletten Pfad in die Konsole kopiert. Auch wenn das bei der Windowskonsole grausam ist.
Sag' blos, Du hast nicht die aktuellen Win10 Patches installiert :D MS hat nach über 25 Jahren endlich gelernt, CTRL+V zu unterstützen. Nur CTRL+C sowie das einfache Markieren von Texten kennt man immer noch nicht. Aber auch sowas schafft man unter Linux problemlos, wenn man nicht die bash sondern eine eher von VI inspirierte Shell nimmt (und damit jeden Windows- und BASH User zur Weisglut treibt).

Mir ist jetzt auch der Befehl fürs kompilieren wieder eingefallen: "...\nvcc.exe" cuda_06.cu -o ueb6.exe
Jetzt noch ein paar --include-path--include-path und --library-path dazu, und alles passt wieder. Siehe
NVCC :: CUDA Toolkit Documentation

Jetzt kommt aber dieser Fehler: fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory.
Ohne tiefgreifende Kenntnisse in der Konfiguration des Compilers ist es nahezu unmöglich, alle benötigten Pfade und Namen der Kommandozeilenvariablen korrekt zu erraten. Da kann st Du jetztn u.U. den Include-Pfad korrigieren und landest beim Linken wieder an der selben Stelle, weil die Lib-Pfade nicht vorhanden sind oder der Linker versucht, eine gleichnamige Lib von VS anstatt von Nvidia in das Programm zu linken.

Nicht ohne Grund gibt es bei VS2015 ein "Developer Commadn Prompt", was nicht mehr tut wie dutzende von Variablejn und Pfaden temporär für die Konsole zu setzen.

Wäre wohl schneller gegangen, ein Linux mit nvcc aufzusetzen, als diesen VisualStudio Schrott zu installieren.
Wenn Du unter Linux Deine Umgebungsvariablen löschst (oder das ein Installationsprogramm für Dich erledigt), dann läuft danach auch nichts mehr (oder der Compiler nutzt plötzlich Teile der Vorgängerversion).

Eine IDE nach der Installation von fremden SDKs zu installieren und dann zu erwarten, dass das SDK danach (vorzugsweise in der IDE) korrekt gefunden wird, kann man natürlich tun. Die Erfahrung zeigt aber, dass sowas noch nicht einmal bei Microsoft selber funktioniert. Unter Linux klappt das auch nur mit Glück, das obige Beispiel habe ich früher oft genug beim manuellen Upgrade des GCC unter Linux selber erlebt. Der ist bekanntlich noch nicht einmal eine IDE, braucht aber trotzdem mehr wie eine Umgebunfgsvariable, in denen die Pfade auch in der korrekten Reihenfolge angegeben sein müssen.
 
Sag' blos, Du hast nicht die aktuellen Win10 Patches installiert :D MS hat nach über 25 Jahren endlich gelernt, CTRL+V zu unterstützen. Nur CTRL+C sowie das einfache Markieren von Texten kennt man immer noch nicht. Aber auch sowas schafft man unter Linux problemlos, wenn man nicht die bash sondern eine eher von VI inspirierte Shell nimmt (und damit jeden Windows- und BASH User zur Weisglut treibt).

Da die PCs nicht nur zum Spielen genutzt werden, sondern auch zum arbeiten, läuft hier noch ein ordentliches Betriebssystem drauf. Das wird sich auch nicht ändern, da AM4 ja auch Win7 unterstützt und ein Zen+ mit 6 Kernen+SMT ist nächstes Jahr schon recht fest geplant. Bis dahin reicht auch der i5 noch.
 
Zurück