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

Code::Blocks Discussion :

bibliothèque libxml2 avec code blocks (windows)


Sujet :

Code::Blocks

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut bibliothèque libxml2 avec code blocks (windows)
    Bonjour,

    Je souhaite utilisé la bibliothèque libxml2 sous code blocks et j'ai quelque souci.

    J'ai téléchargé le zip "libxml2-2.9.3-win32-x86_64" sur le site de xmlsoft pour mon projet code blocks.
    Ensuite dans "project build options" -> "search directories" -> "compiler" j'ai ajouté le dossier include\libxml2, et dans "linker" le dossier lib du libxml2.

    J'ai bien accès au fonction de la bibliothèque et ces fonctions dans mon code mais quand je compile j'ai des messages d'erreurs

    ||=== Build: Release in xml_project (compiler: GNU GCC Compiler) ===|
    obj\Release\main.o:main.c:(.text.startup+0x16)||undefined reference to `xmlParseFile'|
    obj\Release\main.o:main.c:(.text.startup+0x1e)||undefined reference to `xmlFreeDoc'|
    ||error: ld returned 1 exit status|
    ||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|


    Voici mon code :

    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 <stdio.h>
    #include <stdlib.h>
    #include <libxml/parser.h>
     
    int main()
    {
        xmlDocPtr doc;
     
        doc = xmlParseFile("catalogue.xml");
     
        xmlFreeDoc(doc);
     
        return 0;
    }
    Est-ce qu'il manque une option à ajouter dans le linker ou autre part ?

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    octobre 2011
    Messages
    1 487
    Détails du profil
    Informations forums :
    Inscription : octobre 2011
    Messages : 1 487
    Points : 2 612
    Points
    2 612
    Par défaut
    Il faut spécifier les options sur le build. Pour le faire localement (contrastant les options globales en cas plus désirable) :

    [1] faites le clic droit sur le projet et selectionnez le "build options";
    [1.1] selectionnez le tab "Search Directories">"Compiler", ajoutez le parcours pointant à <absolute-path-to-libxml2-lib>\include\libxml2 qui est le parent de libxml/parser.h;
    [1.2] selectionnez le tab "Search Directories">"Linker", ajoutez le parcours pointant à <absolute-path-to-libxml2-lib>\lib (ceci est optional et est besoin seulement si on va mettre le parcours relatif dans [4]);
    [2] quittant le tab "Search Directories", selectionnez le tab "Linker Settings";
    [2.1] ajoutez la fichier libxml2.dll (ou le parcours complet si on ne configure pas [1.2], c'est-à-dire <absolute-path-to-libxml2-lib>\lib\libxml2.dll.

    Avec cette configuration, le programme est prêt.

  3. #3
    Membre émérite Avatar de tsuji
    Inscrit en
    octobre 2011
    Messages
    1 487
    Détails du profil
    Informations forums :
    Inscription : octobre 2011
    Messages : 1 487
    Points : 2 612
    Points
    2 612
    Par défaut
    J'ai fait un typo fundamental : .dll doit être lit .lib; et c'est un peu pour ça que je fais une petite vérification rapide avec codeblocks et je ne suis pas content avec le parcours relatif: Donc, pour être plus sûr, je ne dois pas prononcer sur le parcours relatif.

    [1.2-édité] selectionnez le tab "Search Directories">"Linker", ajoutez le parcours pointant à <absolute-path-to-libxml2-lib>\lib (ceci est optional);
    [2.1-édité] ajoutez la fichier libxml2.lib avec parcours complet <absolute-path-to-libxml2-lib>\lib\libxml2.lib.

    Désolé pour la confusion.

Discussions similaires

  1. Utilisation avec Code::Blocks sous Windows
    Par timeout dans le forum wxWidgets
    Réponses: 1
    Dernier message: 02/10/2011, 21h23
  2. Réponses: 0
    Dernier message: 12/05/2011, 21h53
  3. [Code::Blocks/Windows]Problème avec les thèmes GTK+
    Par 3alaovic dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 16/09/2009, 20h02

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