IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques C++ Discussion :

Difficulté pour installer nana c++


Sujet :

Bibliothèques C++

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Par défaut Difficulté pour installer nana c++
    Bonjour le forum C++,

    Voilà, je souhaiterais installer la librairie nana c++ pour pouvoir créer une interface graphique. En fait le but visé est de construire un jeu petit à petit (projet personnel). Cette bibliothèque m'a convaincu parce qu'elle me semble assez moderne (c++11) et fortement orientée objet.

    Maintenant, plus précisément:
    - Je travaille sur Window 8.1 ou 10
    - Mon IDE est Code::block 16.01
    - La version de nana que je veux utiliser est nana 1.3.0
    - Pour être compatible c++11, nana a besoin de la bibliothèque boost. A cet effet, j'ai téléchargé la version boost 1.60.0

    Pour l'installer, j'ai tenté de suivre les instructions d'installation ici.

    2. Compile Nana C++ Library
    MinGW
    Configure the Boost C++ Library for Nana.C++11(Skip this step if you are installing Nana.C++03)
    The Boost C++ Library is required due to <thread>, <mutex> and <condition_variable> being not supported by MinGW 4.7.x
    a, Insert the Boost includ directory to the "Settings->Compiler...->Search directories->Compiler".
    b, Append the MinGW path(e.g "C:\Program Files\CodeBlocks\MinGW\bin") to the "Path" which is one of Global Environment Variables.
    c, Open the "BoostPath/boost/thread/detail/config.hpp" header file and find the following lines.
    # if defined(BOOST_THREAD_PATH_WIN32)
    # if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN)
    and modify
    # if defined(BOOST_THREAD_PATH_WIN32)
    # if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) || defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32)
    d, Compile the Boost.Thread
    bjam toolset=gcc --build-type=complete --with-thread
    e, Add the Boost C++ Libraries to the Code::Blocks.
    "Settings->Compiler...->Linker Settings" add libraries as following order.
    libboost_system-mgwXX-mt-s-XXX.a
    libboost_thread-mgwXX-mt-s-XXX.a
    libboost_chrono-mgwXX-mt-s-XXX.a
    (Wrong order may cause "undefined reference" linker errors)
    Mais je bloque sur les points suivants:
    - Point b: Je ne vois pas où et comment ajouter le MinGW path
    - Dans le header config.hpp, je ne trouve pas la variable BOOST_THREAD_PATH_WIN32. Ce qui s'en rapproche le plus est la variable BOOST_THREAD_PLATFORM_WIN32 ligne 398 et du coup pour moi la modification serait déjà d'application...
    - Je ne comprends pas du tout le point d. A quoi fait référence Compile the Boost.Thread ainsi que bjam toolset?
    - J'imagine que le point e devient clair une fois que les points a à d ont pu être effectués.

    J'espère être assez précis et merci d'avance pour toute aide

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 058
    Billets dans le blog
    142
    Par défaut
    Bonjour,

    Le point 'b' c'est dans les paramètres système de Windows. Mais je pense que l'on peut s'en passer, si Code::Blocks intègre un compilateur assez récent et si celui-ci est reconnu immédiatement (si Code::Blocks compile un hello world, c'est que c'est bon).
    La ligne bjam toolset est la commande à exécuter pour compilation Boost.Thread.
    Pour le point 'e', vous pouvez lire ce tutoriel sur l'ajout de bibliothèque dans un projet C/C++. Cela sera plus clair.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Par défaut
    Salut LittleWhite, n'hésite pas à me tutoyer et si tu me le permets, je fais pareil de mon côté

    Ok pour le point 'b'. Le compilateur est MinGW, fourni par défaut par Code::Block. Mais quand tu parles du test de compilation d'un Hello World, est-ce en compilant en invite de commande ou au sein même de l'IDE? Car évidemment j'ai toujours compilé le programme au sein de CB et je n'ai jamais eu aucun problème pour compiler de petits programmes.

    La ligne bjam toolset est la commande à exécuter pour compilation Boost.Thread.
    Excuse moi mais je t'avoue que je ne comprends toujours pas et je m'explique : je ne sais pas à quoi fait référence Boost.Thread et où dois-je entrer la ligne de commande?

    Pour ta réponse du point 'e', j'y consacre le temps qu'il faut dès que j'en ai un peu plus à ma disposition. Le lien à l'air très complet, merci!

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 058
    Billets dans le blog
    142
    Par défaut
    Pas de souci pour le tutoiement.
    Pour le point b, dans l'IDE cela suffit.

    J'imagine (car je n'ai pas souvent utiliser Boost) que la commande doit être réalisée dans le dossier où se trouve bjam. Pour taper la commande, il faut utiliser l'invite de commande sous Windows (Windows + R puis tapez "cmd").
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 11
    Par défaut
    Bonjour,

    J'ai decouvert cette librairie il y a 2 jours et je la trouve vraiment bien faites. Les executables générés sont relativement petits (2Mo) et autonomes (pas de framework à installer). Je n'utilise pas d'IDE, juste SublimeText et mingw64.

    Voici ma procédure d'installation:

    1.Récupérer les sources sur http://nanapro.org/en-us/ et extraire le fichier zip sous c:\nana par exemple.
    2.Installer cmake en choisissant de modifier le Path pour tous les utilisateurs.
    3.Créer un repertoire c:\nanalib qui contiendra la librairie
    4.Depuis une console windows, se placer dans ce repertoire
    5.Lancer cmake c:\nana -G "MinGW Makefiles" pour créer un makefile
    6.Lancer mingw32-make, ceci va créer libnana.a
    7.Pour tester, sauvegarder le code suivant dans un fichier main.cpp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <nana/gui.hpp>
    #include <nana/gui/widgets/button.hpp>
     
    int main()
    {
        using namespace nana;
        form fm;
        fm.caption("Hello, World!");
        button btn(fm, rectangle{20, 20, 150, 30});
        btn.caption("Quit");
        btn.events().click(API::exit);
        fm.show();
        exec();
    }
    Puis compiler:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -o test.exe main.cpp -I "C:\nana\include" -L "C:\nanalib" -lnana -lgdi32 -lcomdlg32 -lz -std=c++11 -s
    La documentation de la librairie se trouve ici: http://qpcr4vir.github.io/nana-doxy/html/index.html

    Bon amusement.

Discussions similaires

  1. difficultés pour installer ActivePerl sous windows XP
    Par coursia dans le forum Sécurité
    Réponses: 3
    Dernier message: 24/12/2011, 08h38
  2. Grosses difficultés pour installer
    Par Halleck dans le forum Windows XP
    Réponses: 3
    Dernier message: 26/02/2010, 10h27
  3. Difficulté pour Installer DBDesigner
    Par piff62 dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 31/01/2008, 00h01
  4. Difficultés pour installer IIS
    Par sanaatsdi dans le forum IIS
    Réponses: 1
    Dernier message: 02/01/2008, 01h52
  5. [Install]Difficultés pour install XP
    Par granquet dans le forum Windows XP
    Réponses: 8
    Dernier message: 28/01/2007, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo