Mit Clang auf Mingw 64-bit
Will ich haben clang zusätzlich zu GCC in einem MinGW-64-bit - - Umgebung auf Windows 7, sowohl mit der standard-Bibliothek von gcc. Ich bin mit gcc_x64_4.8.1_win32_seh_rev1 und Qt von http://sourceforge.net/projects/mingwbuilds/.
Baute ich clang 3.3, die in dieser Umgebung, ohne flags (nur immer um die HAVE_EHTABLE_SUPPORT
compile problem).
Benutze ich ein qmake-build-Prozess und die Projekt Datei hat, diese Zeilen zusätzlich für clang (nur release-Modus):
QMAKE_CC = clang
QMAKE_CXX = clang++
QMAKE_CXXFLAGS_RELEASE += -Wno-ignored-attributes
QMAKE_CXXFLAGS_RELEASE += -I"C:/tc/gcc_x64_4.8.1_win32_seh_rev1/mingw64/lib/gcc/x86_64-w64-mingw32/4.8.1"
QMAKE_CXXFLAGS_RELEASE += -I"C:/tc/gcc_x64_4.8.1_win32_seh_rev1/mingw64/lib/gcc/x86_64-w64-mingw32/4.8.1/include/c++"
QMAKE_CXXFLAGS_RELEASE += -I"C:/tc/gcc_x64_4.8.1_win32_seh_rev1/mingw64/lib/gcc/x86_64-w64-mingw32/4.8.1/include/c++/x86_64-w64-mingw32"
QMAKE_CXXFLAGS_RELEASE += -I"C:/tc/gcc_x64_4.8.1_win32_seh_rev1/mingw64/x86_64-w64-mingw32/include"
Kompilieren ruft nach unten:
C:/tc/gcc_x64_4.8.1_win32_seh_rev1/mingw64/lib/gcc/x86_64-w64-mingw32/4.8.1/include/c++\bits/random.h:106:26: error:
__int128 is not supported on this target
{ typedef unsigned __int128 type; };
^
Suche im internet gab Verweise auf _mingw.h, aber ich weiß nicht, was ist da schief:
#if (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 1)) && \
!defined(__SIZEOF_INT128__) /* clang >= 3.1 has __int128 but no size macro */
#define __SIZEOF_INT128__ 16
#endif
Siehe dieser thread, wie man das Geräusch der Arbeit an windows: stackoverflow.com/questions/6525245/... vor allem dieser Beitrag: stackoverflow.com/a/6525707/1392778 . Btw, kompilieren clang in einer 32 bit-Umgebung, wie clang unterstützt keine Ausnahmebehandlung auf 64bit windows, was bedeutet, dass Sie brauchen, um zu bauen, die alles mit -fno-exceptions...
Nun, ich versuchte es, und ich bekomme jetzt das gleiche problem aber ohne die Pfade zu den standard-Bibliothek. Also der Fehler ist immer noch: __int128 wird nicht unterstützt dieses Ziel. Der Punkt ist nicht, dass die Standardbibliothek von gcc wird nicht gefunden, das problem ist, dass es scheint nicht zu funktionieren mit clang (mindestens gcc version 4.8.1 und clang 3.3).
Ich bin mit clang-3.3 gebündelt mit tdm mingw 4.7.1 und Gebäude bits/random.h funktioniert gut für mich. So können Sie prüfen, versuchen 4.7.x statt.
Der Aufbau des rubenvb gearbeitet hat, für mich anderen Zeit rubenvb SourceForge. Die letzten builds sind von clang 3.3, download GCC und aktualisiert mit clang-Dateien.
Nun, ich versuchte es, und ich bekomme jetzt das gleiche problem aber ohne die Pfade zu den standard-Bibliothek. Also der Fehler ist immer noch: __int128 wird nicht unterstützt dieses Ziel. Der Punkt ist nicht, dass die Standardbibliothek von gcc wird nicht gefunden, das problem ist, dass es scheint nicht zu funktionieren mit clang (mindestens gcc version 4.8.1 und clang 3.3).
Ich bin mit clang-3.3 gebündelt mit tdm mingw 4.7.1 und Gebäude bits/random.h funktioniert gut für mich. So können Sie prüfen, versuchen 4.7.x statt.
Der Aufbau des rubenvb gearbeitet hat, für mich anderen Zeit rubenvb SourceForge. Die letzten builds sind von clang 3.3, download GCC und aktualisiert mit clang-Dateien.
InformationsquelleAutor Mike M | 2013-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie diesen link: https://web.archive.org/web/20140301212210/http://www.bencode.net/blog/2012/10/20/clangonwindows/
Es ist eine Anleitung zur installation die Schritte für das erhalten einer funktionellen Clang++ build unter Windows 8 läuft und MinGW. Windows 8 und Windows 7, haben viel gemeinsam, dieses tutorial kann verwendet werden, um erreichen Ihre Aufgabe.
==================================================
Schritt 1
Installieren Sie MinGW. Mit mingw-get-inst-20120426.exe gehen Sie mit dem pre-packaged-repository, die Kataloge, welche bundles in GCC 4.6.1 im Gegensatz zu 4.7.x, die zu der Zeit des Schreibens Clang unterstützt nicht nahtlos. Sie benötigen die C-Compiler, C++ Compiler, MSYS Basic System-und MinGW-Developer-Toolkit MinGW Pakete.
Schritt 2
Python-2.x. Installieren Sie den Python-Interpreter und-Bibliotheken in c:\MinGW\bin.
Schritt 3
Install Subversion. Ich ging mit dem Subversion-1.7.7 (64-bit-Windows) - Paket von CollabNet.
Kasse LLVM:
cd C:\mingw\msys\1.0
mkdir src
cd src
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
Kasse Clang:
Checkout-Compiler-RT:
Schritt 4
C++ - Header und-Bibliotheken. Clang wird versuchen automatisch, die Sonde MinGW-Verzeichnis-Struktur für den Satz der unterstützten libstdc++ - Pfade. Für 32-bit-i686-w64-mingw32-und 64-bit x86_64-w64-mingw32, Klammerten sich davon wie folgt:
Dieser Prüfung Logik kann gefunden werden in InitHeaderSearch.cpp hier liegt (Linie 374 ab diesem schreiben):
Sicher, dass die version von gcc, die Ihre MinGW-installer verwendet, entspricht einer unterstützten version (z.B. 4.6.2 ist bei mir der Fall) durch suchen hier C:\mingw\lib\gcc\mingw32\4.6.2.
Wenn Ihre version von gcc scheint nicht automatisch unterstützt, Klammerten sich nutzbar zu beheben, standard-Bibliotheken und Header – Sie wollen diese. Einige populäre Weise zu helfen, Clang finden diese (wenn es nicht bereits):
Schritt 5
Bauen. Mit einer MinGW-shell. Credits zu Pete.
Kredit für original-arbeiten:
Gepostet von Ben Simmonds Okt 20th, 2012
Und das war eine sehr gute Beratung, wurde nicht gefolgt: jetzt ist der link tot ist, und die Antwort ist frustrierend Lärm.
Der link wurde aktualisiert und bietet nun eine version aus dem internet archive.
Danke!!!
InformationsquelleAutor Samuel