Compiler avec Clang sous Windows

Problème avec la bibliothèque standard

a marqué ce sujet comme résolu.

Bonsoir à tous,

J'ai récemment eu l'envie de découvrir le compilateur Clang. J'ai donc téléchargé l'installateur de la version 3.7 (ici) pour l'installer sur Windows 8.

Voyant que la bibliothèque standard C++ n'est pas incluse dans l'installation, j'ai donc essayé de compiler un simple code (qui n'inclut que iostream) avec la bibliothèque fournit avec GCC 5.2 (le built de MinGW-W64) :

1
clang++ -IC:\GCC\5.2.0\i686-w64-mingw32\include\c++ main.cpp

Hélas, je reçois pleins d'erreurs du genre :

1
2
3
4
error: no member named 'mbstate_t' in namespace 'std'
error: no member named 'wint_t' in namespace 'std'
error: no member named 'btowc' in namespace 'std'
...

Donc apparemment, compiler avec la bibliothèque fournie par GCC ne serait pas une bonne idée ? Si tel est le cas, peut-on trouver une bibliothèque standard compatible avec Clang ?

Ou tout simplement, faut-il éviter Clang sous Windows ? (Ou faut-il se limiter à ne l'utiliser qu'avec MSVC ?)

Malgré mes différentes recherches, je n'ai rien trouvé qui puisse m'aider (peut-être que j'utilise de mauvais mots-clés). Donc plutôt que de continuer à perdre inutilement du temps, je viens ici en espérant que certains puissent répondre à ces questions. :)

Bonjour,

Si cela peut aider qq, voici la procédure que j’ai suivie pour installer Clang 7.0 64 bits sur mon PC ce matin.

1) Télécharger et installer LLVM-7.0.0-win64.exe. Choisir l’option "Add LLVM to the system PATH of all users". Je n’ai pas laissé le répertoire par défaut et cela n’a pas poser de problème.

2) Une fois l’installation terminée, vérifier que le chemin vers LLVM\bin est bien dans le PATH système de Windows.

3) Télécharger et dezipper x86_64–5.1.0-release-posix-seh-rt_v4-rev0.7z sous c:\Mingw64 par exemple et ajouter c:\Mingw64\bin au PATH système également. Attention, si vous avez déjà un Mingw 32 bits par exemple il faut placer le nouveau chemin avant celui-ci dans la variable PATH.

4) C’est prêt. J’ai compile un hello.cpp avec la commande suivante:

clang++ -o hello.exe hello.cpp -std=c++14 -target x86_64-w64-mingw64

Voila.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte