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.

InformationsquelleAutor Mike M | 2013-06-30

Schreibe einen Kommentar