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 :

Libbtiff avec Qt


Sujet :

Qt

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 88
    Par défaut Libbtiff avec Qt
    Bonjour à tous,
    Je veux installer la librairie libtiff3.8.2 sous windowsXP ,Qt 4.6.2.
    Alors après avoir compilé la librairie , je dispose des fichiers libtiff.dll,libtiff.lib dans le dossier libtiff3.8.2/libtiff .
    Aussi je pense avoir lié ces derniers correctement à mon projet en ajoutant dans le fichier .pro ces quelques lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INCLUDEPATH += . ; C:\src\tiff\3.8.2\tiff-3.8.2-win32\libtiff
    LIBS +=  -LC:\src\tiff\3.8.2\tiff-3.8.2-win32\libtiff
    et à la fin je me retrouve avec un message d'erreur assez bizar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LINK : fatal error LNK1104: impossible d'ouvrir le fichier ';.obj'
    J'ai passé deux journée ladessus, je trouve pas!Quelqu'un aurait une idée svp.Merci d'avance

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Attention, dans LIBS tu ne donne que le path ou se trouve le .lib et non la lib à linker.

    Sinon, pour ton problème, il faudrait voir tous ton .pro. IL me semble avoir eu un problème de ce styla à cause d'un espace dans un path ou un ";" manquant dans le code.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 88
    Par défaut
    Merci de me répondre yan!
    voilà mon fichier .pro complet (remarque je viens de re-compiler une ancienne version de libtiff et c'est la même erreur )

    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
    ######################################################################
    # Automatically generated by qmake (2.01a) mer. 10. mars 14:49:32 2010
    ######################################################################
    TEMPLATE = app
    TARGET =
    DEPENDPATH += .
    INCLUDEPATH += . ; C:/qwt-5.2/src ; C:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff
     
    CONFIG(debug, debug|release) {
    LIBS += -LC:/qwt-5.2/lib -lqwtd5 ;  -LC:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff
     
    } else {
    LIBS += -LC:/qwt-5.2/lib -lqwt5
    }
     
    DEFINES += QWT_DLL
    # Input
    HEADERS += FenPrincipale.h imageNaff.h
    SOURCES += FenPrincipale.cpp main.cpp imageNaff.cpp

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    et si tu ajoute -l"nom du fichier lib de libtiff" comme pour qwt?

    Vérifie que toute tes classes terminent bien par ";"

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 88
    Par défaut
    J'ai ajouté des ; à la fin de tous les fichiers (du répertoire libtiff), hormis ceux qui finissent avec #endif.
    Et pareil l'erreur est la même !
    Et j''ai déja essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff -l libtiff
    aucun succès!
    Sinon en essayant un peu de changer le .pro en ceci :
    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
    ######################################################################
    # Automatically generated by qmake (2.01a) mer. 10. mars 14:49:32 2010
    ######################################################################
    TEMPLATE = app
    TARGET =
    DEPENDPATH += .
    INCLUDEPATH += . ; C:/qwt-5.2/src ; C:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff
     
    CONFIG(debug, debug|release) {
    LIBS += -LC:/qwt-5.2/lib -lqwtd5
     
    } else {
    LIBS += -LC:/qwt-5.2/lib -lqwt5
    }
     
    DEFINES += QWT_DLL
    # Input
    HEADERS += FenPrincipale.h imageNaff.h
    SOURCES += FenPrincipale.cpp main.cpp imageNaff.cpp
     
    LIBS += C:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff/libtiff.lib

    j'ai ce warning là, qui n'est pas trés rassurant qd meme !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LINK : warning LNK4098: conflit entre la bibliothèque par défaut 'LIBCMT' et les autres bibliothèques*; utilisez /NODEFAULTLIB:library

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    c'est -llibtiff qu'il fallait écrire

    Citation Envoyé par doukha Voir le message
    j'ai ce warning là, qui n'est pas trés rassurant qd meme !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LINK : warning LNK4098: conflit entre la bibliothèque par défaut 'LIBCMT' et les autres bibliothèques*; utilisez /NODEFAULTLIB:library
    Donc ça compile?
    Je ne sais plus trop la gravité de ce warning. tu n'aurais pas libtiff compilé en release et tu compile ton projet en debug?
    ou inversement?

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 88
    Par défaut
    Oui ça compile ! et à ce propos je pense qu'il y'a confusion parce que Qt dispose d'une libraire tiff (par défaut ) qu'on trouve ses dossiers ici :
    C:\Qt\4.6.2\src\plugins\imageformats\tiff
    C:\Qt\4.6.2\src\3rdparty\libtiff

    Finalement Concernant -llibtiff ça marche dans cette configuration là (avec le conflit entre les librairie ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CONFIG(debug, debug|release) {
    LIBS += -LC:/qwt-5.2/lib -lqwtd5 
    LIBS += -LC:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff -llibtiff
     } else {
    LIBS += -LC:/qwt-5.2/lib -lqwt5
    }
    et il va me ressortir l'erreur de link 1104 dans celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CONFIG(debug, debug|release) {
    LIBS += -LC:/qwt-5.2/lib -lqwtd5  ;  -LC:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff -llibtiff
    } else {
    LIBS += -LC:/qwt-5.2/lib -lqwt5
    }
    Donc je pense que je vais devoir faire avec ce Warning.
    De toute manière je pense qu'il y a une option /NODEFAULTLIB:library , qui permet d'ignorer les librairies par défaut.
    Encore un GRAND merci

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par doukha Voir le message
    et il va me ressortir l'erreur de link 1104 dans celle-ci :
    c'est à ,cause du ";". Il faut pas le mettre. Cela ne veut rien dire ici c'est un espace qu'il faut utiliser.

    Citation Envoyé par doukha Voir le message
    Donc je pense que je vais devoir faire avec ce Warning.
    Le warning est un autre problème. EN gros, ta lib libtiff et ton appli n'utilise pas la même crt. Ce qui peut poser problème. Il faut voir avec les option de libtiff mais tu devrais pouvoir la compiler avec la même crt et enlever ce warning.

  9. #9
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 88
    Par défaut
    c'est à ,cause du ";". Il faut pas le mettre. Cela ne veut rien dire ici c'est un espace qu'il faut utiliser.
    Quand je me rends compte avoir passer tout le WeekEnd à chercher ce fichier ;.obj !!! ...
    Pour le warning dès que je trouve un moyen je le communiquerai.
    thanks

  10. #10
    Inactif  


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

    Informations professionnelles :
    Secteur : Santé

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

    Tu es sur que ta lib est utilisée ?
    Parce que, d'après le code du .pro je ne pense pas que ta lib puisse être linkée et donc tu dois utiliser la gestion des tiff par Qt.

    Comment utilises-tu ta lib ?

    Pour inclure une lib, il faut :
    1. ajouter le répertoire contenant ta lib (si le répertoire n'est pas dans les répertoires de recherche par défaut) avec la commande -Lle/chemin/de/ton/répertoire
    2. ajouter la lib à inclure (en supprimant le préfixe lib et l'extension .so/.dll) avec la commande -l (L minuscule)

    Donc pour toi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LIBS += -LC:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff -ltiff
    
    doc : http://qt.developpez.com/doc/latest/...ther-libraries

    Petite remarque, tu inclues ta lib dans une compilation conditionnelle "CONFIG(debug, debug|release)" : ta lib ne seras incluse que en mode Debug (si tu es en mode Release, tu n'aurais même pas une erreur de lib non trouvée).
    Sois tu as 2 versions de compilation (release et debug) et tu inclues la lib adéquate en fonction du mode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CONFIG(debug, debug|release) {
        LIBS += -LC:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff -ltiff
     } else {
        LIBS += -LC:/src/tiff/3.6.1/tiff-3.6.1-win32/libtiff_debug -ltiff
    }
    (ou ltiffd ou ... en fonction du nom de ta lib en version debug)

    ou tu sors l'inclusion de ta lib de la condition.

  11. #11
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 88
    Par défaut
    Oui ma Lib est utilisé.
    En plus je ne dispose pas de fichier tiff.lib pour le lié !
    Et merci pour les précisions maintenant, ça m'a beaucoup aidé à comprendre le fonctionnement du fichier .pro

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. requete avec OBCD et visual c++
    Par Anonymous dans le forum MFC
    Réponses: 12
    Dernier message: 18/11/2004, 16h15
  2. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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