2016-11-26 2 views
2

Ich brauche etwas Hilfe, um richtig auf Windows klauen.Brauchen Sie Hilfe beim Einrichten von CLANG auf Windows Richtig

Ich habe Visual Studios 2015 installiert. Und das Windows SDK. Ich habe kürzlich Clang installiert und eine sehr einfache Hello-Welt durchgespielt, um sicherzustellen, dass es richtig funktioniert. Und es gab mir einen Fehler, aus dem ich keinen Sinn machen kann.

Visual Studios wird damit gut umgehen.

Hier ist die Fehlerausgabe ich von Klirren erhalten haben:

Microsoft Windows [Version 10.0.14393] 

C:\Users\Leo>cd C:\Users\Leo\Desktop\Sandbox 

C:\Users\Leo\Desktop\Sandbox>clang++ hello.cpp 
In file include d from hello.cpp:1: 
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\iostream:6: 
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\istream:6: 
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\ostream:6: 
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\ios:6: 
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xlocnum:6: 
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\climits:5: 
In file included from C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h:8: 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\crtdefs.h:10:10: fatal error: 
    'corecrt.h' file not found 
#include <corecrt.h> 
     ^
1 error generated. 

C:\Users\Leo\Desktop\Sandbox> 

Linie 1 in hello.cpp ist einfach:

#include <iostream> 

So wird dieser Fehler Sinn für mich nicht zu machen.

Antwort

0

Geben Sie echo %INCLUDE% an der Eingabeaufforderung ein. Um Ihren INCLUDE-Pfad anzuzeigen.

Überprüfen Sie, ob Ihre Umgebungsvariable INCLUDE nicht auf einen Pfad festgelegt ist, der einen Visual Studio-Pfad enthält. Wahrscheinlich wird das auch für die LIB Umgebungsvariable tun müssen.

+0

echo% INCLUDE% gibt nur% INCLUDE% zurück. Also tippte ich "set INCLUDE" und erfuhr, dass die Pfade nicht definiert waren. Was muss ich definieren? Außerdem dachte ich, CLANG benötigt für seine Includes entweder Windows SDK oder Visual Studios. – moonshineTheleocat

+0

'' befindet sich im Windows SDK-Pfad. Bei meiner Installation gibt es zwei Kopien: 'C: \ Programme (x86) \ Windows Kits \ 10 \ Include \ 10.0.10150.0 \ ucrt \ corecrt.h' und' C: \ Programme (x86) \ Windows Kits \ 10 \ Include \ 10.0.10240.0 \ ucrt \ corecrt.h' – selbie

+0

Vielen Dank. Ich habe mir die Entwicklungsumgebung meines Visual Studio angesehen und diese Pfade benutzt. Alles funktioniert jetzt gut. – moonshineTheleocat

0

Ich habe es vor kurzem richtig funktionieren und Windows-Anwendungen kompilieren. Einschließlich DirectX11 und DirectX12.

Es stellt sich heraus, dass Sie Clang unter Visual Studios nach dem Generieren eines Cmake-Projekts erstellen müssen. Wenn Sie standardmäßig 64 Bit verwenden möchten, müssen Sie die 64-Bit-Version von Visual Studios angeben.

Sobald es kompiliert ist, müssen Sie clang-cl unter den VSbuild-Tools ausführen.

Verwandte Themen