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 :

Comment trouver les librairies dont dépendent tels objets dans un programme ?


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Comment trouver les librairies dont dépendent tels objets dans un programme ?
    Bonjour,

    J'aimerais savoir comment on peut trouver les librairies dont dépendent certains objets de mon code.

    J'essaye de programmer en utilisant Qt mais lorsque je compile, la console m'indique qu'il y a des références indéfinies vers tels objets par exemple "QApplication".
    On m'a dit que l'origine de cela est du au fait que je n'avais pas inclut les librairies nécessaires.

    J'aimerais pouvoir compiler mon code avec une commande de console du type
    g++ main.cpp -o main -I/usr/include/qt5 -lqt ...
    mais je ne sais pas quel "-l" ajouter.

    Cordialement

    PS: Je suis désolé si ce sujet a déjà été traité mais en cherchant "librairie" je n'ai rien trouvé.

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 351
    Points : 42 822
    Points
    42 822
    Par défaut
    Dans ton projet, tu as un fichier .pro.

    Tu lances la commande suivante :

    Ceci va créer un makefile, que tu n'as plus qu'à compiler avec :

    ou
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse.
    Je n'ai pas de fichier .pro juste un fichier .cpp que j'essaye de compiler avec Cygwin.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 351
    Points : 42 822
    Points
    42 822
    Par défaut
    Le fichier .pro est généré par l'ide de Qt. Tu peux aussi le générer en ligne de commande via :
    Syntaxe à vérifier, je le dis de mémoire. Cette commande, encore de mémoire va intégrer tous les .cpp du dossier, à toi de le personnaliser selon les besoins.

    Cygwin, donc tu es sous Windows, pourquoi tu n'utilises pas les compilateurs Windows ? Tu pourras reprendre le code et le recompiler sans problème sous Linux.(si tu n'utilises que Qt).
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    J'utilise Cygwin car il reproduit bien le mécanisme de compilation d'un code alors qu'avec les compilateurs de Windows, il faut juste appuyer sur un bouton pour compiler.

    J'ai réussi à faire un fichier .pro en suivant le tutoriel de qt à propos de qmake et j'ai réussi à générer un makefile. Mais lorsque je le lance avec "make' la compilation échoue toujours : il y a toujours les références indéfinies etc...

  6. #6
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Cygwin, ça reste pour moi le pire choix possible pour faire du dev sous Windows, car ça reproduit le comportement de Linux, ce qui est peut-être souhaité, mais alors pourquoi ne pas installer Linux, ou une VM Linux?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    C'est un peu compliqué d'installer un système d'exploitation. Je fais de la programmation à cause de mes études donc je ne voulais pas en installer un juste pour ça mais j'ai un autre ordinateur avec ubuntu.
    Je pense que je l'utiliserai davantage à l'avenir.

    Je vous remercie pour votre aide. Je vais chercher encore un peu de mon côté pour essayer de résoudre ce problème.

    Cordialement

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Résolu
    J'ai résolu mon problème en utilisant qmake avec le fichier projet main.pro suivant :

    main.pro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CONFIG += qt
    TARGET = test
    SOURCES += main.cpp
    QT += gui widgets core
    et en exécutant la ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qmake -o makefile main.pro
    J'ai ensuite exécuté la commande make qui m'a généré la ligne de compilation suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++  -o test.exe main.o -I/usr/include/qt5/  -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
    qui fonctionne.

    Mon code source est :

    main.cpp :

    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
    #include <QtWidgets/QtWidgets>
     
    int main(int argc, char *argv[])
    {
    	QString fontname("Calibri Light");
    	int fontsize = 12;
    	int fontweight = 50;
    	bool italic = false;
    	int windowSizeX = 200;
    	int windowSizeY = 400;
     
    	QApplication app(argc, argv);
    	QWidget window;
    		window.setFixedSize(windowSizeX,windowSizeY);
    		window.setWindowTitle("Test");
    		window.move(200,200);
    	QFont font(fontname, fontsize, fontweight, italic);
    	QPushButton bouton("Quit", &window);
    	bouton.setFont(font);
    	bouton.setCursor(Qt::PointingHandCursor);
    	bouton.setToolTip("Pour quitter, cliquer ici");
    	QObject::connect(&bouton, SIGNAL(clicked()), qApp, SLOT(quit()));
     
    	window.show();
     
    	return app.exec();
    }

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Par défaut
    Vu le bordel qu'est Qt à compiler, je ne saurais que chaudement recommander d'utiliser Qt Creator pour ça.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  10. #10
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Citation Envoyé par dragonjoker59 Voir le message
    Cygwin, ça reste pour moi le pire choix possible pour faire du dev sous Windows, car ça reproduit le comportement de Linux, ce qui est peut-être souhaité, mais alors pourquoi ne pas installer Linux, ou une VM Linux?
    Cas concret : tu peux avoir un exécutable Windows à livrer dont le développement nécessite des outils POSIX (sans même parler de tout ce qui est facilités de scripting apportées en sus).

  11. #11
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Salut,
    Citation Envoyé par Matt_Houston Voir le message
    Cas concret : tu peux avoir un exécutable Windows à livrer dont le développement nécessite des outils POSIX (sans même parler de tout ce qui est facilités de scripting apportées en sus).
    Ben, très sincèrement, à ce moment là, j'installe un VM linux sous windows, et j'utilise un compilateur croisé... pour générer l'exécutable windows. Ensuite, je n'ai plus qu'à rapatrier cet exécutable de la VM vers mon OS de prédilection, et ca, ca se fait très facilement, soit grâce au partage de dossiers entre hôte et VM, soit à l'aide d'une clé USB
    Citation Envoyé par jojo9191
    J'utilise Cygwin car il reproduit bien le mécanisme de compilation d'un code alors qu'avec les compilateurs de Windows, il faut juste appuyer sur un bouton pour compiler.

    J'ai réussi à faire un fichier .pro en suivant le tutoriel de qt à propos de qmake et j'ai réussi à générer un makefile. Mais lorsque je le lance avec "make' la compilation échoue toujours : il y a toujours les références indéfinies etc...
    Installe mingw (par exemple, la distibution de mingw proposée par nuwen), cmake (c'est quand meme plus facile pour créer les Makefiles, et de plus en plus d'outils linux se mettent à l'utiliser ), notepad++, et évite à tout prix tous les EDI du marché, tu obtiendras exactement le même résultat: tu devras utiliser tes petits doigts pour introduire toutes les commandes au lieu d'user ta souris
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Merci à tous pour vos réponses.

    La raison pour laquelle je n'ai pas choisi Qt Creator est que c'est payant et je n'ai pas d'argent à dépenser pour ça

    J'écris mon code avec Notepad++, c'est vraiment un très bon éditeur de texte.
    J'essayerai mingw si j'ai encore d'autres problèmes avec Cygwin, merci pour le conseil.

    Cordialement

  13. #13
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 393
    Points : 684
    Points
    684
    Par défaut
    Citation Envoyé par jojo9191 Voir le message
    La raison pour laquelle je n'ai pas choisi Qt Creator est que c'est payant et je n'ai pas d'argent à dépenser pour ça
    D'ou sort tu ce idee ? C'est open-source, libre et gratuit.

    J'ai résolu mon problème en utilisant qmake avec le fichier projet main.pro suivant :
    Tu te doutes bien que le jour ou tu auras 1000 fichiers à compiler, tu ne vas pas t'amuser ecrire chaque ligne de commande à la main.
    Il faudra bien apprendre un jour a utiliser les outils de build existant.

    Si ce qui t'interesse est de savoir ce qui se passe quand tu appuies sur le bouton "compiler", il suffit de regarder la fenêtre de sortie, toutes les commandes sont indiquées.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par mintho carmo Voir le message
    D'ou sort tu ce idee ? C'est open-source, libre et gratuit.
    Je dois sûrement confondre alors car dans le site de Qt, il y a un IDE payant et je pensais que c'était celui là.



    Citation Envoyé par mintho carmo Voir le message
    Tu te doutes bien que le jour ou tu auras 1000 fichiers à compiler, tu ne vas pas t'amuser ecrire chaque ligne de commande à la main.
    Il faudra bien apprendre un jour a utiliser les outils de build existant.

    Si ce qui t'interesse est de savoir ce qui se passe quand tu appuies sur le bouton "compiler", il suffit de regarder la fenêtre de sortie, toutes les commandes sont indiquées.
    Je suis tout à faire d'accord avec toi
    Mais dans mon cas, il n'y avait qu'un seul fichier source et je voulais savoir où on pouvait trouver "à la main" le nom des librairies à inclure sans l'aide d'un logiciel. On m'a dit qu'il fallait parcourir la documentation de Qt pour les trouver.

    Merci pour ta réponse

    Cordialement

  15. #15
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 393
    Points : 684
    Points
    684
    Par défaut
    Citation Envoyé par jojo9191 Voir le message
    Je dois sûrement confondre alors car dans le site de Qt, il y a un IDE payant et je pensais que c'était celui là.
    Pas non plus d'IDE payant sur le site de Qt

    En fait, il y a plusieurs licences pour Qt: LGPL, GPL, commerciale. Le contenu est presque équivalent entre les différentes licences, avec des conditions d'utilisation différentes. Mais l'IDE (Qt Creator) est le meme.

    Citation Envoyé par jojo9191 Voir le message
    Mais dans mon cas, il n'y avait qu'un seul fichier source et je voulais savoir où on pouvait trouver "à la main" le nom des librairies à inclure sans l'aide d'un logiciel. On m'a dit qu'il fallait parcourir la documentation de Qt pour les trouver.
    Tu as effectivement la ligne de code a ajouter dans le .pro dans la doc de chaque classe. Par exemple, si tu regardes QPushButton : http://doc.qt.io/qt-5/qpushbutton.html, tu as au debut :

    qmake: QT += widgets
    Ce qui signifie que cette classe est dans le module "QtWidgets", il faut donc linker la lib correspondante.

    Mais ca ne sera généralement pas aussi simple. Le mieux est de lire la sortie de compilation dans Qt Creator pour savoir tout ce qui se passe. (Un IDE ne compile, il ne fait qu'appeler les outils de compilation dans des lignes de commande. Exactement comme ce que ferait un dev pour compiler en ligne de commande. Ou n'importe quel outil de build : cmake, make, etc)

    Un exemple avec un projet widget par défaut (un main et un mainwindow). Sur mon Mac (Qt 5.7), ca donne :

    22:01:05: Running steps for project test...

    <--- etape 1 : executer qmake --->

    22:01:05: Starting: "/Users/mintho/Qt/5.7/clang_64/bin/qmake" /Users/mintho/Desktop/test/test.pro -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=qml_debug
    Info: creating stash file /Users/mintho/Desktop/build-test-Desktop_Qt_5_7_0_clang_64bit2-Debug/.qmake.stash
    22:01:07: The process "/Users/mintho/Qt/5.7/clang_64/bin/qmake" exited normally.

    22:01:07: Starting: "/usr/bin/make" qmake_all
    make: Nothing to be done for `qmake_all'.
    22:01:07: The process "/usr/bin/make" exited normally.
    22:01:07: Starting: "/usr/bin/make"

    <--- etape 2 : executer uic = UI compiler --->

    /Users/mintho/Qt/5.7/clang_64/bin/uic ../test/mainwindow.ui -o ui_mainwindow.h

    <--- etape 3 : executer uic = compilation de main.cpp --->

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../test -I. -I../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/mintho/Qt/5.7/clang_64/lib -o main.o ../test/main.cpp

    <--- etape 4 : executer uic = compilation de mainwindow.cpp --->

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../test -I. -I../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/mintho/Qt/5.7/clang_64/lib -o mainwindow.o ../test/mainwindow.cpp

    <--- etape 5 : executer moc = meta-object compiler --->

    /Users/mintho/Qt/5.7/clang_64/bin/moc -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -D__APPLE__ -D__GNUC__=4 -D__APPLE_CC__ -I/Users/mintho/Qt/5.7/clang_64/mkspecs/macx-clang -I/Users/mintho/Desktop/test -I/Users/mintho/Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I/Users/mintho/Qt/5.7/clang_64/lib/QtGui.framework/Headers -I/Users/mintho/Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/usr/local/include -I/Users/mintho/Tools/android-ndk-r10e/toolchains/llvm-3.6/prebuilt/darwin-x86_64/lib/clang/3.6/include -I/usr/include -I'/System/Library/Frameworks (framework directory)' -I'/Library/Frameworks (framework directory)' -F/Users/mintho/Qt/5.7/clang_64/lib ../test/mainwindow.h -o moc_mainwindow.cpp

    <--- etape 6 : executer uic = compilation de moc_mainwindow.cpp --->

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../test -I. -I../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/mintho/Qt/5.7/clang_64/lib -o moc_mainwindow.o moc_mainwindow.cpp

    <--- etape 7 : link --->

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -stdlib=libc++ -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.8 -Wl,-rpath,/Users/mintho/Qt/5.7/clang_64/lib -o test.app/Contents/MacOS/test main.o mainwindow.o moc_mainwindow.o -F/Users/mintho/Qt/5.7/clang_64/lib -framework QtWidgets -framework QtGui -framework QtCore -framework DiskArbitration -framework IOKit -framework OpenGL -framework AGL

    22:01:09: The process "/usr/bin/make" exited normally.
    22:01:09: Elapsed time: 00:04.
    (les commentaires <--- xxx ---> sont de moi)

    Il y a pas mal d'étapes supplémentaires par rapport à une compilation C++ classique. Tu peux voir par exemple les inclusions correspondant aux modules Core, Gui et Widgets :

    • -I../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers
    • -I../../Qt/5.7/clang_64/lib/QtGui.framework/Headers
    • -I../../Qt/5.7/clang_64/lib/QtCore.framework/Headers


    Et pour les libs :

    • -framework QtWidgets
    • -framework QtGui
    • -framework QtCore


    Bien sur, les lignes de commande dépendent du système et du compilateur.

    Pour compiler à la main, il faut bien comprendre la compilation en C++ ET les spécificités de la compilation avec Qt. Cf par exemple http://qt-quarterly.developpez.com/qq-34/cmake/.

    Au lieu de commencer par essayer de compiler à la main, je te conseille d'utiliser pour commencer les outils existants (Qt Creator) et d'étudier comment ils fonctionnent. Ca sera plus efficace que d'essayer de trouver les infos sans savoir ou chercher.

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Ok, je vais essayer.
    Merci d'avoir pris du temps pour m'aider.

    J'apprécie

  17. #17
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 694
    Points : 2 425
    Points
    2 425
    Par défaut
    Hello.

    Citation Envoyé par jojo9191 Voir le message
    Je dois sûrement confondre alors car dans le site de Qt, il y a un IDE payant et je pensais que c'était celui là.
    Il y a bien deux options, l'open-source gratuite, comme mentionné, et une option payante avec support.

    Il semble que beaucoup de gens se fassent avoir avec le petit formulaire en haut de la page sur qt.io et se font proposer la version payante.
    Rien que sur ce forum cette soucis est mentionné quelques fois.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  18. #18
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 393
    Points : 684
    Points
    684
    Par défaut
    Citation Envoyé par Daïmanu Voir le message
    Il y a bien deux options, l'open-source gratuite, comme mentionné, et une option payante avec support.
    Comme je l'ai dit, cela concerne Qt, qui existe sous plusieurs licences (LGPL, GPL, commerciale...), pas Qt Creator (qui existe sous une seule licence: GPL)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/03/2006, 16h07
  2. Trouver les dll dont depend un programme
    Par baert dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 17/10/2005, 15h41
  3. [IB5.5] comment trouver les indexes
    Par inconu dans le forum InterBase
    Réponses: 3
    Dernier message: 06/10/2005, 09h45
  4. [Ada 95] où trouver les librairies ??
    Par kindool dans le forum Ada
    Réponses: 1
    Dernier message: 23/05/2005, 18h59
  5. [ClassPath]Comment inclure les librairies dans un .BAT
    Par Kyti dans le forum Général Java
    Réponses: 2
    Dernier message: 26/03/2005, 09h07

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