Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    mai 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2006
    Messages : 430
    Points : 160
    Points
    160

    Par défaut Erreur de syntaxe dans fichier *.pro

    Bonjour à la communauté,

    Je découvre Qt. Je cherche à lier des librairies suivant des variables d'environnement.
    Les librairies sont des librairies 32bits.
    J'utilise Qt5.0.0 MSVC 2010 sous windows 7 (64bits)

    Voici mon fichier *.pro

    Code :
    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
     
    QT       += core gui opengl
     
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
     
    TARGET = SkelMeasures
    TEMPLATE = app
     
     
    SOURCES += main.cpp\
            mainwindow.cpp\
            viewer.cpp
     
    HEADERS  += mainwindow.h\
                viewer.h
     
    #----- Add Lib -----
    win32: LIBS +=  -L$${MyDll1_LIB} -lMyDll1 \
                    -L$${DLL2_LIB} -lDLL2
    INCLUDEPATH +=  $${MyDll1_INCLUDE} \
                    $${DLL2_INCLUDE}
    DEPENDPATH +=   $${MyDll1_INCLUDE} \
                    $${DLL2_INCLUDE}
    win32: PRE_TARGETDEPS += $${MyDll1_LIB}/MyDll.lib \
                             $${DLL2_LIB}/DLL2.lib
    Voici le code d'erreur :
    Code :
    1
    2
    3
    4
    5
    6
     
    Error: dependent 'D:\00_Temp\Projets\TestQt\SkelMeasures\C:\Program' does not exist.
    jom: D:\00_Temp\Projets\TestQt\bin\Makefile [debug] Error 2
    09:44:28: Le processus "C:\QtSDK\Tools\QtCreator\bin\jom.exe" s'est terminé avec le code 2.
    Error while building/deploying project SkelMeasures (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
    Lors de l'exécution de l'étape "Make"
    J'ai bien compris qu'il cherche les librairies et les fichier *.h : 'D:\00_Temp\Projets\TestQt\SkelMeasures\C:\Program'.
    Ce qui est une erreur.

    Quelle est donc la bonne syntaxe pour utiliser des variables d'environnement?
    Est ce que je n'ai pas fais d'erreur dans mes ajouts de chemin.

    Cordialement,
    "Nulla Tenaci Invia Est Via"
    Aux persévérants aucune route n'est interdite

  2. #2
    Inactif


    Homme Profil pro Guillaume Belz
    Biochimiste
    Inscrit en
    novembre 2008
    Messages
    5 317
    Détails du profil
    Informations personnelles :
    Nom : Homme Guillaume Belz
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Biochimiste
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2008
    Messages : 5 317
    Points : 18 041
    Points
    18 041

    Par défaut

    Salut

    Pour les variables d'environnement système, c'est des parenthèses $$() (Documentation - Qmake Advanced Usage - Variables)

    Une fonction très utile de qmake est message() qui permet d'afficher une variable (et donc tester que la syntaxe est correcte)

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #----- Add Lib -----
    win32: LIBS +=  -L$$(MyDll1_LIB) -lMyDll1 -L$$(DLL2_LIB) -lDLL2
    message(La variable MyDll1_LIB vaut : $$(MyDll1_LIB))
    message(La variable DLL2_LIB vaut : $$(DLL2_LIB))
     
    INCLUDEPATH +=  $$(MyDll1_INCLUDE)} $$(DLL2_INCLUDE)
    message(La variable MyDll1_INCLUDE vaut : $$(MyDll1_INCLUDE))
    message(La variable DLL2_INCLUDE vaut : $$(DLL2_INCLUDE))
     
    # DEPENDPATH +=   $${MyDll1_INCLUDE} $${DLL2_INCLUDE}
    DEPENDPATH = $$INCLUDEPATH  # plus simple :)
     
    win32: PRE_TARGETDEPS += $${MyDll1_LIB}/MyDll.lib $${DLL2_LIB}/DLL2.lib
    Bon courage

  3. #3
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    mai 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2006
    Messages : 430
    Points : 160
    Points
    160

    Par défaut

    Merci de ta réponse.

    J'avais des doutes entre les accolades et les parenthèses.
    J'ai réalisé les modifications que tu m'as montré.
    Malheureusement j'ai toujours le même problème. je suis perplexe sur cette erreur .

    Je me pose la question de savoir si cela ne vient pas de mon poste et de l'installation de Qt5.0.0.
    "Nulla Tenaci Invia Est Via"
    Aux persévérants aucune route n'est interdite

  4. #4
    Inactif


    Homme Profil pro Guillaume Belz
    Biochimiste
    Inscrit en
    novembre 2008
    Messages
    5 317
    Détails du profil
    Informations personnelles :
    Nom : Homme Guillaume Belz
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Biochimiste
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2008
    Messages : 5 317
    Points : 18 041
    Points
    18 041

    Par défaut

    Tu as utilisé message() pour voir le contenu de tes variables systèmes ? De plus, dans Qt Creator -> Mode Projet, tu peux voir la liste des variables systèmes

  5. #5
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    mai 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2006
    Messages : 430
    Points : 160
    Points
    160

    Par défaut

    Citation Envoyé par gbdivers Voir le message
    Tu as utilisé message() pour voir le contenu de tes variables systèmes ?
    Oui, cependant je ne vois rien das ma sortie de compilation. C'est pour cela que je me pose des questions sur mon installation de Qt

    Citation Envoyé par gbdivers Voir le message
    De plus, dans Qt Creator -> Mode Projet, tu peux voir la liste des variables systèmes
    Oui j'ai remarqué cette option. J'ai bien mes variables d'environnement
    "Nulla Tenaci Invia Est Via"
    Aux persévérants aucune route n'est interdite

  6. #6
    Inactif


    Homme Profil pro Guillaume Belz
    Biochimiste
    Inscrit en
    novembre 2008
    Messages
    5 317
    Détails du profil
    Informations personnelles :
    Nom : Homme Guillaume Belz
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Biochimiste
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2008
    Messages : 5 317
    Points : 18 041
    Points
    18 041

    Par défaut

    Je viens de tester, pas de problème chez moi (win 7 et Qt 5 aussi)
    Images attachées Images attachées

  7. #7
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    mai 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2006
    Messages : 430
    Points : 160
    Points
    160

    Par défaut

    Bon j'ai désinstallé Qt5 et refait une installation.

    Dans mes variables d'environnement, j'ai ajouter des guillemets dans toutes les chemins de librairies.

    J'ai fais un nouveau projet (mainwindow.c et mainwindow.h ) , et juste modifié le fichier pro pour inclure mes librairies : cela compile.

    Cependant j'ai des erreurs de linkage
    main.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall MainWindow::~MainWindow(void)" (??1MainWindow@@UAE@XZ) référencé dans la fonction _main
    main.obj : error LNK2019: symbole externe non résolu "public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QAE@PAVQWidget@@@Z) référencé dans la fonction _main
    release\SkelMeasures.exe : fatal error LNK1120: 2 externes non résolus
    Ceci sera une autre histoire, pour demain .
    Je te remercie de ton aide
    "Nulla Tenaci Invia Est Via"
    Aux persévérants aucune route n'est interdite

  8. #8
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    mai 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2006
    Messages : 430
    Points : 160
    Points
    160

    Par défaut

    J'ai supprimé les fichiers make et makefile.debug
    Et cela fonctionne

    Bonne soirée
    "Nulla Tenaci Invia Est Via"
    Aux persévérants aucune route n'est interdite

  9. #9
    Modérateur

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2009
    Messages
    1 007
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2009
    Messages : 1 007
    Points : 1 701
    Points
    1 701

    Par défaut

    Modification de .pro => exécuter qmake pour regénérer les Makefile.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •