Skip to content

Utiliser C++11 avec Code::Blocks sur windows

14 novembre 2012

Si vous installez Code::Blocks et gardez le MinGW par défaut, il ne vous sera pas possible de compiler avec le standard C++11 (g++ -std=c++11). Ce standard peut être utile car GCC est désormais doté de std::thread et std::chrono, permettant de réaliser de simples threads pour l’utilisation des multi-coeurs et d’utiliser chrono qui implémente des mesures du temp et des temps d’attente de manière très simple.

Il ne vous sera pas possible non plus de compiler des programmes utilisant OpenMP. Mais j’avais déjà décrit ce problème dans un de mes billets précédents.

Il va falloir changer l’installation de mingw dans Code::Blocks. Pour cela, il faut récupérer le dernier MinGW sur SourceForge :

http://sourceforge.net/projects/mingwbuilds/

Il suffit de décompresser l’archive obtenue et de déplacer le répertoire MinGW contenu là où vous avez installé Code::Blocks (C:\Program Files (x86)\CodeBlocks par défaut).
Ensuite, on lance Code::Blocks et il faut adapter les paramètres du compilateur, comme sur l’image ci-dessous (Settings -> Compiler & Debugger, onglet Toolchain Executables).

Paramètres Toolchains

Paramètres dans Toolchains

Vous pouvez désormais compiler en ajoutant -std=c++11 (ou -fopenmp) en paramètre de compilation et -lpthread pour les liaison (linkage options).

 

One Comment leave one →
  1. sam permalink
    1 mai 2015 20 h 20 mi

    Merci d’avoir parlé sur ce sujet : « Utiliser C++11 avec Code::Blocks sur windows ».

    J’ai un problème, permettez moi de vous le soumettre si vous pouvez m’éclairer.

    Je voudrais programmer des threads avec c++11 sachant que je travaille avec code::blocks sous Windows 64 bits.J’ai ajouté les paramètres de compilations nécessaires (-std=c++11 ) et (-lpthread) dans linker options, mais le compilateur ne reconnait pas la syntaxe. Le programme que j’ai essayé est juste, c’est un programme de démonstration tous ce qui a de simple.

    La version de mon mingw32 est 4.7.1 je l’ai téléchargé (avec code::blocks) cela ne fait même pas une année. Mais j’ai trouvé dans le readme.txt qui l’accompagne la phrase suivante : … This edition of TDM-GCC is an unofficial replacement for the official GCC binaries distributed by the MinGW project; …
    Je suppose que peut être cette version du compilateur est incomplète malgré qu’elle soit récente.

    Pour ôter le doute j’ai essayé de télécharger la dernière version de mingw avec le lien que vous avez donné. Seulement pour le télécharger et l’installer des paramètres des paramètres de configuration sont demandés dont deux que je ne sais pas comment choisir : l’architecture (32 ou 64) et le thread (POSIX ou win32).

    Est-ce que c’est l’architecture du processeur 32 ou 64 ? ou c’est pour Windows 32 ou 64 bits ?
    Si c’est l’architecture du processeur, comment savoir si c’est une architecture 32 ou 64 bits? Parce que je n’ai rien trouvé pour mon processeur (dans propriétés de l’ordinateur et dans gestionnaire de périphériques) sauf Intel Core i3-3110M.
    Pour le 2ième paramètre quelle différence y a t-il entre thread POSIX et thread win32 ?

    Merci de m’éclairer, si possible.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :