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

 C++ Discussion :

compilation avec log4cxx


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Par défaut compilation avec log4cxx
    Bonjour à tous,
    J'essaye de compiler avec Mingw un exemple d'utilisation de la librairie log4cxx trouvé sur le net. La compilation semble bien se passer mais j'ai des erreurs au link.
    La dll log4cxx est compilée avec Visual C++ (Bibliothèque dynamique (.dll)).

    Voici le 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    #include <stdlib.h>
    // include log4cxx header files.
    #include "log4cxx/logger.h"
    #include "log4cxx/basicconfigurator.h"
    #include "log4cxx/propertyconfigurator.h"
    #include "log4cxx/helpers/exception.h"
     
    using namespace log4cxx;
    using namespace log4cxx::helpers;
    LoggerPtr logger(Logger::getLogger("Main"));
     
    int main(int argc, char** argv) {
     
     
        try {
            if (argc == 0) {
                BasicConfigurator::configure();
            } else {
                PropertyConfigurator::configure(argv[1]);
            }
     
            LOG4CXX_INFO(logger, "Ma première ligne de log avec log4cxx !");
        } catch (Exception&) {
            return EXIT_FAILURE;
        }
     
     
        return (EXIT_SUCCESS);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    C:\testlog4cxx>g++ main.cpp -o test.exe -I"c:\testlog4cxx\log4cxx" -L"c:\testlog
    4cxx\log4cxx\lib" 
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x167): undefined
    reference to `_imp___ZN7log4cxx17BasicConfigurator9configureEv'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x18c): undefined
    reference to `_imp___ZN7log4cxx4FileC1EPKc'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x1a0): undefined
    reference to `_imp___ZN7log4cxx20PropertyConfigurator9configureERKNS_4FileE'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x1ce): undefined
    reference to `_imp___ZN7log4cxx4FileD1Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x1ff): undefined
    reference to `_imp___ZN7log4cxx4FileD1Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x223): undefined
    reference to `_imp___ZNK7log4cxx6Logger13isInfoEnabledEv'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x238): undefined
    reference to `_imp___ZN7log4cxx7helpers13MessageBufferC1Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x25d): undefined
    reference to `_imp___ZN7log4cxx3spi12LocationInfoC1EPKcS3_i'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x282): undefined
    reference to `_imp___ZN7log4cxx7helpers13MessageBufferlsEPKc'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x293): undefined
    reference to `_imp___ZN7log4cxx7helpers13MessageBuffer3strERNS0_17CharMessageBuf
    ferE'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x2a6): undefined
    reference to `_imp___ZN7log4cxx5Level7getInfoEv'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x2ed): undefined
    reference to `_imp___ZNK7log4cxx6Logger9forcedLogERKNS_7helpers10ObjectPtrTINS_5
    LevelEEERKSsRKNS_3spi12LocationInfoE'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x3b0): undefined
    reference to `_imp___ZN7log4cxx7helpers13MessageBufferD1Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x3de): undefined
    reference to `_imp___ZN7log4cxx7helpers13MessageBufferD1Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text+0x476): undefined
    reference to `_imp___ZN7log4cxx6Logger9getLoggerEPKc'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text$_ZN7log4cxx7helper
    s10ObjectPtrTINS_5LevelEED1Ev[log4cxx::helpers::ObjectPtrT<log4cxx::Level>::~Obj
    ectPtrT()]+0x7e): undefined reference to `_imp___ZN7log4cxx7helpers13ObjectPtrBa
    seD2Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text$_ZN7log4cxx7helper
    s10ObjectPtrTINS_5LevelEED1Ev[log4cxx::helpers::ObjectPtrT<log4cxx::Level>::~Obj
    ectPtrT()]+0xaa): undefined reference to `_imp___ZN7log4cxx7helpers13ObjectPtrBa
    seD2Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text$_ZN7log4cxx7helper
    s10ObjectPtrTINS_6LoggerEED1Ev[log4cxx::helpers::ObjectPtrT<log4cxx::Logger>::~O
    bjectPtrT()]+0x7e): undefined reference to `_imp___ZN7log4cxx7helpers13ObjectPtr
    BaseD2Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text$_ZN7log4cxx7helper
    s10ObjectPtrTINS_6LoggerEED1Ev[log4cxx::helpers::ObjectPtrT<log4cxx::Logger>::~O
    bjectPtrT()]+0xaa): undefined reference to `_imp___ZN7log4cxx7helpers13ObjectPtr
    BaseD2Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text$_ZN7log4cxx7helper
    s10ObjectPtrTINS_5LevelEED0Ev[log4cxx::helpers::ObjectPtrT<log4cxx::Level>::~Obj
    ectPtrT()]+0x7e): undefined reference to `_imp___ZN7log4cxx7helpers13ObjectPtrBa
    seD2Ev'
    C:\DOCUME~1\USER~1\LOCALS~1\Temp/ccNKZbvF.o:main.cpp:(.text$_ZN7log4cxx7helper
    s10ObjectPtrTINS_5LevelEED0Ev[log4cxx::helpers::ObjectPtrT<log4cxx::Level>::~Obj
    ectPtrT()]+0xaa): more undefined references to `_imp___ZN7log4cxx7helpers13Objec
    tPtrBaseD2Ev' follow
    collect2: ld returned 1 exit status

    Pourriez-vous m'aider à trouver ce que je ne fais correctement?
    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour et bienvenu,
    Pour lier avec la DLL tu dois d'abord obtenir un .lib compatible avec MinGW. Pour cela tu as l'outil dlltool :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dlltool log4cxx.dll -l log4cxx.lib
    Et ensuite tu dois le rajouter dans les options de link pour lier ton projet avec.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Par défaut
    Merci 3DArchi.
    J'ai les mêmes erreurs avec le .lib généré avec dlltool.
    J'ai aussi essayé avec les commandes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pexports log4cxx.dll | sed "s/^_//" > log4cxx.def
    dlltool -U -d log4cxx.def -l log4cxx.a
    g++ main.cpp -o test -I"c:\testlog4cxx\log4cxx" -L. -llog4cxx
    Mais toujours cette erreur "undefined reference to `_imp___"

Discussions similaires

  1. Problème à l'exécution avec wxWindows (compilé avec BCC55)
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 14/11/2003, 18h04
  2. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  3. Problemes de compilation avec g++ sous linux
    Par Selimmel dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 19/09/2003, 13h43
  4. [JB9][EJB]Compiler avec Make ou javac ?
    Par _gtm_ dans le forum JBuilder
    Réponses: 4
    Dernier message: 11/07/2003, 15h59
  5. Compilation avec un Makefile
    Par Mau dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 28/02/2003, 11h30

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