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

Qt Discussion :

Application Qt et bibliothèques statiques


Sujet :

Qt

  1. #1
    Membre régulier
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 96
    Points
    96
    Par défaut Application Qt et bibliothèques statiques
    Bonjour,

    J'ai compilé une application g++ / Qt dans Netbeans sous Linux.

    Au moment de lancer cette application sur un serveur, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error while loading shared libraries: libQtSql.so.4: cannot open shared object file: No such file or directory
    Donc, j'ai cherché cette librarie sur ma machine et je l'ai copiée sur le serveur mais ça ne marche toujours pas ?!? (en fait la version que j'ai trouvé est la libQtSql.so.4.6.2)

    J'ai cherché alors comment compiler mon appli avec les librairies statiques mais je ne
    trouve pas l'option...

    Quelqu'un a déjà rencontré ce type de problème ?
    Merci !

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    Bonjour

    Il faut juste créer un lien symbolique de libQtSql.so.4.6.2 vers libQtSql.so (avec ln -s libQtSql.so.4.6.2 libQtSql.so)

    Pour les libs statiques, il faut recompiler Qt (et la licence n'est plus la même).

  3. #3
    Membre régulier
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 96
    Points
    96
    Par défaut
    Bon, j'ai créé le lien comme suggéré et mon listing dans linux est :

    lrwxrwxrwx ... 2011-07-15 14:53 libQtSql.so.4 -> libQtSql.so.4.6.2
    -rw-r--r-- ... 2011-07-15 14:51 libQtSql.so.4.6.2

    ...mais maintenant j'ai une erreur nouvelle au lancement de mon appli :

    error while loading shared libraries: libQtSql.so.4: cannot open shared object file: No such file or directory

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 617
    Points
    15 617
    Par défaut
    Je fatigue... il fallait lire "libQtSql.so vers libQtSql.so.4.6.2" et non l'inverse (par contre la commande est bonne).
    A priori, tes liens sont incorrects. Supprime les avec rm et recommence.
    Sinon, vérifie quels liens l'application appelle avec la commande ldd nom_de_appli.

  5. #5
    Membre régulier
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 96
    Points
    96
    Par défaut
    Merci pour la commande ldd !!!

    Très utile: ça montre que les liens vers les biblis QT ne sont pas encore établies :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	linux-vdso.so.1 =>  (0x00007f644a701000)
    	libQtSql.so.4 => not found
    	libQtGui.so.4 => not found
    	libQtCore.so.4 => not found
    	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f644a2cb000)
    	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f6449fbf000)
    	libm.so.6 => /lib/libm.so.6 (0x00007f6449d3c000)
    	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f6449b25000)
    	libc.so.6 => /lib/libc.so.6 (0x00007f64497d2000)
    	/lib64/ld-linux-x86-64.so.2 (0x00007f644a4e7000)
    En revanche, la création de liens symboliques, ça marche pas :
    J'ai essayé successivement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ln -s libQtSql.so libQtSql.so.4.6.2
    et
    ln -s libQtSql.so libQtSql.so.4.6.2
    ... mais j'ai toujours un message d'erreur au lancement de l'appli :

    error while loading shared libraries: libQtSql.so.4: cannot open shared object file: No such file or directory

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/11/2007, 14h46
  2. Réponses: 4
    Dernier message: 28/08/2007, 23h34
  3. Application web:Gestion Bibliothéque
    Par alaweb dans le forum UML
    Réponses: 4
    Dernier message: 09/03/2007, 02h33
  4. Problème de lien avec une bibliothèque statique
    Par streetpc dans le forum C++/CLI
    Réponses: 2
    Dernier message: 28/10/2006, 18h38
  5. Utiliser une bibliothèque statique
    Par djflex68 dans le forum MFC
    Réponses: 6
    Dernier message: 15/08/2005, 20h26

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