À l'aide de Clang sur Mingw 64bit
Je veux avoir clang en plus de GCC dans un MinGW-64bit de l'environnement sur Windows 7, en utilisant la bibliothèque standard de gcc. Je suis en utilisant gcc_x64_4.8.1_win32_seh_rev1 et Qt de http://sourceforge.net/projects/mingwbuilds/.
J'ai construit clang 3.3 dans cet environnement, sans drapeaux (juste faire le tour de l' HAVE_EHTABLE_SUPPORT
compiler problème).
- Je utiliser un qmake processus de construction et le fichier de projet a ces lignes de plus pour clang (seulement en mode release):
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"
Compilation descend à:
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; };
^
La recherche de l'internet a donné les références à _mingw.h, mais je ne sais pas quel est le problème là:
#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
Voir ce fil comment obtenir clang de travail sous windows: stackoverflow.com/questions/6525245/... en particulier ce post: stackoverflow.com/a/6525707/1392778 . Btw, la compilation llvm dans un 32 bits de l'environnement, comme clang ne prend pas en charge la gestion des exceptions la version 64bit de windows, ce qui signifie que vous avez besoin pour construire le tout avec de l'-fno-exceptions...
Bien que j'ai essayé, et j'ai maintenant le même problème, mais sans y compris les chemins d'accès à la bibliothèque standard. Donc l'erreur est toujours: __int128 n'est pas pris en charge sur cette cible. Le point n'est pas, que la bibliothèque standard de gcc n'est pas trouvé, le problème est qu'il semble ne pas fonctionner avec clang (au moins la version de gcc 4.8.1 et clang 3.3).
Je suis à l'aide de clang-3.3 livré avec tdm mingw 4.7.1 et la construction bits/aléatoire.h fonctionne très bien pour moi. Ainsi, vous pouvez envisager d'essayer 4.7.x à la place.
La construction de la rubenvb a fonctionné pour moi d'autres temps rubenvb SourceForge. Les dernières versions sont de clang 3.3, téléchargement GCC et mis à jour avec clang fichiers.
Bien que j'ai essayé, et j'ai maintenant le même problème, mais sans y compris les chemins d'accès à la bibliothèque standard. Donc l'erreur est toujours: __int128 n'est pas pris en charge sur cette cible. Le point n'est pas, que la bibliothèque standard de gcc n'est pas trouvé, le problème est qu'il semble ne pas fonctionner avec clang (au moins la version de gcc 4.8.1 et clang 3.3).
Je suis à l'aide de clang-3.3 livré avec tdm mingw 4.7.1 et la construction bits/aléatoire.h fonctionne très bien pour moi. Ainsi, vous pouvez envisager d'essayer 4.7.x à la place.
La construction de la rubenvb a fonctionné pour moi d'autres temps rubenvb SourceForge. Les dernières versions sont de clang 3.3, téléchargement GCC et mis à jour avec clang fichiers.
OriginalL'auteur Mike M | 2013-06-30
Vous devez vous connecter pour publier un commentaire.
Vérifier ce lien: https://web.archive.org/web/20140301212210/http://www.bencode.net/blog/2012/10/20/clangonwindows/
Il s'agit d'un tutoriel sur les étapes de l'installation pour obtenir une fonctionnelle Clang++ construire en cours d'exécution sur Windows 8 et MinGW. Windows 8 et Windows 7 partage beaucoup de choses en commun, ce tutoriel peut être utilisé pour accomplir votre tâche.
==================================================
Étape 1
Installer MinGW. À l'aide de mingw-get-inst-20120426.exe aller avec le pré-emballés référentiel des catalogues, des bundles qui dans GCC 4.6.1 par opposition à 4.7.x, qui, au moment de la rédaction de Clang ne prend pas en charge de manière transparente. Vous aurez besoin du Compilateur C, C++ Compilateur, MSYS Système de Base et MinGW Developer Toolkit MinGW paquets.
Étape 2
Python 2.x. Installer l'Interpréteur Python et Bibliothèques c:\MinGW\bin.
Étape 3
Installer Subversion. Je suis allé à la Subversion 1.7.7 (Windows 64-bit) paquet de CollabNet.
Caisse LLVM:
cd C:\mingw\msys\1.0
mkdir src
cd src
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
Caisse Clang:
Caisse Compilateur-RT:
Étape 4
C++ en-têtes et les bibliothèques. Clang tentera automatiquement de la sonde de MinGW structure de répertoire pour ensemble de prises en charge libstdc++ chemins. Pour 32-bit i686-w64-mingw32, et 64-bit x86_64-w64-mingw32, Clang suppose comme ci-dessous:
Cette analyse logique peut être trouvé dans InitHeaderSearch.cpp trouve ici (ligne 374 comme de l'écriture de cette page):
S'assurer que la version de gcc que votre programme d'installation de MinGW utilisé, correspond à une version prise en charge (par exemple 4.6.2 est mon cas) par ici C:\mingw\lib\gcc\mingw32\4.6.2.
Si votre version de gcc ne semble pas être pris en charge automatiquement, Clang seront utilisables pour résoudre des bibliothèques et en-têtes – vous voulez que ce. Certains sont des moyens populaires pour aider à Clang trouver ces (si ce n'est pas déjà fait):
Étape 5
Construire. À l'aide d'un MinGW shell. Les crédits à Pete pour cela.
De crédit pour les œuvres originales:
Posté par Ben Simmonds Oct 20, 2012
Et c'était un très bon conseil qui n'a pas été suivie: maintenant, le lien est mort, et la réponse est frustrant de bruit.
Le lien a été mis à jour avec une version de l'internet archive.
Je vous remercie !
OriginalL'auteur Samuel