Partage
  • Partager sur Facebook
  • Partager sur Twitter

QT sur netbeans

Sujet résolu
    8 octobre 2018 à 18:47:14

    Bonjour,

    j'essais d'utiliser QT sur netbeans depuis un petit moment, mais reçoit toujours une erreur :

    make.exe[1]: *** [nbproject/qt-Debug.mk] Error 2
    make.exe[1]: Leaving directory `/f/Documents/NetBeansProjects/QtApplication_2'
    make.exe": *** [.build-impl] Error 2

    BUILD FAILED (exit value 2, total time: 432ms)

    j'ai bien rajouter dans le path des variables d'environnement (MinGW est installer dans le disque E) :

    • E:\MinGW\bin
    • E:\MinGW\msys\1.0\bin

    et j'ai ceci dans Netbeans :

    Comment je pourrais faire fonctionne QT correctement dans netbeans ? 

    Je vous remercie.

    • Partager sur Facebook
    • Partager sur Twitter
      8 octobre 2018 à 18:53:36

      Ce n'est pas les messages d'erreur complet. Il manque des choses.

      Et Qt ne se compile pas comme une application C++ classique, il faut appeler qmake aussi. Le path que tu donnes pour qmake n'est pas valide. (Il faut le pointer vers qmake du kit que tu veux utiliser, pas vers le make.exe)

      -
      Edité par gbdivers 8 octobre 2018 à 18:54:45

      • Partager sur Facebook
      • Partager sur Twitter
        8 octobre 2018 à 19:01:50

        Oui j'ai aussi essayé de prendre directement le Qmake de QT5 :

        Qui m'empèche tout de même de compiler.

        Voici ce qu'affiche la console avec le Qmake.exe

        cd 'F:\Documents\NetBeansProjects\QtApplication_2'

        E:\MinGW\msys\1.0\bin\make.exe -f Makefile CONF=Debug QMAKE=/E/QT/Qt5.11.2/5.11.2/msvc2015/bin/qmake.exe

        "/E/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE=/E/QT/Qt5.11.2/5.11.2/msvc2015/bin/qmake.exe SUBPROJECTS= .build-conf

        make.exe[1]: Entering directory `/f/Documents/NetBeansProjects/QtApplication_2'

        /E/QT/Qt5.11.2/5.11.2/msvc2015/bin/qmake.exe VPATH=. -spec win32-g++ -o qttmp-Debug.mk nbproject/qt-Debug.pro

        mv -f qttmp-Debug.mk nbproject/qt-Debug.mk

        "/E/MinGW/msys/1.0/bin/make.exe" -f nbproject/qt-Debug.mk dist/Debug/MinGW-Windows/QtApplication_2.exe

        make.exe[2]: Entering directory `/f/Documents/NetBeansProjects/QtApplication_2'

        g++ -c -fno-keep-inline-dllexport -g -Wall -W -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -Inbproject -I. -IE:/QT/Qt5.11.2/5.11.2/msvc2015/include -IE:/QT/Qt5.11.2/5.11.2/msvc2015/include/QtWidgets -IE:/QT/Qt5.11.2/5.11.2/msvc2015/include/QtGui -IE:/QT/Qt5.11.2/5.11.2/msvc2015/include/QtANGLE -IE:/QT/Qt5.11.2/5.11.2/msvc2015/include/QtCore -I. -I\include -IE:/QT/Qt5.11.2/5.11.2/msvc2015/mkspecs/win32-g++  -o build/Debug/MinGW-Windows/main.o main.cpp

        g++ -Wl,-subsystem,windows -mthreads -o dist/Debug/MinGW-Windows/QtApplication_2.exe build/Debug/MinGW-Windows/main.o  -lmingw32 -LE:/QT/Qt5.11.2/5.11.2/msvc2015/lib E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/qtmaind.lib -LC:/opensslx86/lib -LC:/Utils/my_sql/mysql-5.6.11-win32/lib -LC:/Utils/postgresqlx86/pgsql/lib -lshell32 E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/Qt5Cored.lib E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/Qt5Widgetsd.lib E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/Qt5Guid.lib E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/Qt5Cored.lib build/Debug/MinGW-Windows/QtApplication_2_resource_res.o 

        Warning: corrupt .drectve at end of def file

        build/Debug/MinGW-Windows/main.o: In function `Z5qMainiPPc':

        F:\Documents\NetBeansProjects\QtApplication_2/main.cpp:20: undefined reference to `_imp___ZN12QApplicationC1ERiPPci'

        F:\Documents\NetBeansProjects\QtApplication_2/main.cpp:24: undefined reference to `_imp___ZN12QApplication4execEv'

        F:\Documents\NetBeansProjects\QtApplication_2/main.cpp:20: undefined reference to `_imp___ZN12QApplicationD1Ev'

        F:\Documents\NetBeansProjects\QtApplication_2/main.cpp:20: undefined reference to `_imp___ZN12QApplicationD1Ev'

        E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/qtmaind.lib(.obj/debug/qtmain_win.obj):(.text$mn+0x40): undefined reference to `??_U@YAPAXI@Z'

        E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/qtmaind.lib(.obj/debug/qtmain_win.obj):(.text$mn+0xea): undefined reference to `??_V@YAXPAX@Z'

        E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/qtmaind.lib(.obj/debug/qtmain_win.obj):(.text$mn+0xfe): undefined reference to `??_V@YAXPAX@Z'

        E:/QT/Qt5.11.2/5.11.2/msvc2015/lib/qtmaind.lib(.obj/debug/qtmain_win.obj):(.text$mn+0x138): undefined reference to `??_U@YAPAXI@Z'

        collect2.exe: error: ld returned 1 exit status

        make.exe[2]: *** [dist/Debug/MinGW-Windows/QtApplication_2.exe] Error 1

        make.exe[2]: Leaving directory `/f/Documents/NetBeansProjects/QtApplication_2'

        make.exe[1]: *** [.build-conf] Error 2

        make.exe[1]: Leaving directory `/f/Documents/NetBeansProjects/QtApplication_2'

        make.exe": *** [.build-impl] Error 2

        BUILD FAILED (exit value 2, total time: 1s)

        • Partager sur Facebook
        • Partager sur Twitter
          8 octobre 2018 à 21:11:24

          Tu as installé Qt pour MSVC 2015 mais tu compiles avec MingW. Il faut utiliser Qt pour MingW (avec le meme numéro de version de MingW. Le plus simple est d'utiliser la version de MingW fournie dans l'installateur de Qt)
          • Partager sur Facebook
          • Partager sur Twitter
            8 octobre 2018 à 21:11:35

            Bonjour,

            question bete, pourquoi ne pas utiliser qtcreator?

            • Partager sur Facebook
            • Partager sur Twitter
              8 octobre 2018 à 21:27:35

              gbdivers a écrit:

              Tu as installé Qt pour MSVC 2015 mais tu compiles avec MingW. Il faut utiliser Qt pour MingW (avec le meme numéro de version de MingW. Le plus simple est d'utiliser la version de MingW fournie dans l'installateur de Qt)


              Merci, je viens de trouver le bon Qt command dans E:\QT\Qt5.11.2\5.11.2\mingw53_32\bin\qmake.exe

              Mais maintenant j'ai un autre problème, il compile très bien mais n'arrive pas a Run (RUN FAILED)

              Dans la console :

              F:/Documents/NetBeansProjects/QtApplication_1/dist/Debug/MinGW-Windows/QtApplication_1.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory

              RUN FAILED (exit value 127, total time: 652ms)

              bxdfr a écrit:

              Bonjour,

              question bete, pourquoi ne pas utiliser qtcreator?

              Il fonctionne très bien oui, mais j'ai une préférence pour Netbeans (La première raison étant la possibilité de le mettre entièrement sombre. Et ensuite le fais qu'il gère beaucoup de langage en un seul logiciel, donc autant rester sur celui-ci)

              -
              Edité par Pristio 8 octobre 2018 à 21:31:39

              • Partager sur Facebook
              • Partager sur Twitter
                8 octobre 2018 à 21:42:51

                Maintenant que tu as configuré la compilation, il faut aussi configurer l'execution. Il faut ajouter le chemin des DLL dans les paths d'execution ou dans le PATH de window (pas conseillé).

                Et QtCreator a un theme sombre.

                • Partager sur Facebook
                • Partager sur Twitter
                  8 octobre 2018 à 22:00:38

                  Super ça avance petit a petit :)

                  Ayant maintenant juste un "RUN FAILED" sur netbeans, j'ai regardé dans le dist->Debug en lançant le .exe du projet. Me donnant maintenant cette erreur concernant QT5Cored.dll que j'ai rajouter avec les autres dll manquantes

                  Merci pour le petit + sur le thème sombre pour QT creator, je ne savais pas.

                  EDIT :

                  les dll manquantes ont été récupérer du dossier E:\QT\Qt5.11.2\5.11.2\mingw53_32\bin

                  J'ai peut-être pris a partir du mauvais ?

                  -
                  Edité par Pristio 8 octobre 2018 à 22:14:37

                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 octobre 2018 à 22:22:44

                    Copier les DLL est une mauvaise idee, parce que tu devras refaire ca a chaque fois que tu crees un projet. Il vaut mieux configurer les paths.

                    Et pour deployer (copier les DLL), il vaut mieux utiliser l'outil qtwindeploy.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 octobre 2018 à 22:32:59

                      Je vois. Par contre je ne sais pas comment on ajoute le chemin des dll :/ Si tu peut m'éclairer un peu sur la façon de faire stp ?

                      Faire de cette manière aura-t-il un impacte sur l'erreur que j'ai actuellement ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 octobre 2018 à 22:44:07

                        Aucune idee de comment faire ca dans netbeans. a pire, ajoutes les dans le path de windows
                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 octobre 2018 à 22:52:46

                          Je viens d'essayé en rajoutant dans les path de windows, tous le dossier comportant les dll de QT

                          Je me retrouve avec la même erreur que précédemment sur QT5Cored

                          -
                          Edité par Pristio 8 octobre 2018 à 22:58:14

                          • Partager sur Facebook
                          • Partager sur Twitter
                            8 octobre 2018 à 23:03:52

                            Quel path as tu ajouté ? As tu redemaré l'ordi apres avoir modifier le path ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              8 octobre 2018 à 23:07:41

                              J'ai repris celui la qui possède toutes les dll demandé : E:\QT\Qt5.11.2\5.11.2\mingw53_32\bin

                              En général, je pense bien qu'on a pas besoin de redémarrer l'ordinateur lors d'un changement dans les path... et j'ai mis ceux de MinGW sans avoir a redémarrer non plus.

                              Je peux tout de même essayer pour vérifier

                              EDIT : le redémarrage n'as rien donné

                              -
                              Edité par Pristio 8 octobre 2018 à 23:10:51

                              • Partager sur Facebook
                              • Partager sur Twitter
                                8 octobre 2018 à 23:28:17

                                E:\QT\Qt5.11.2\5.11.2\mingw53_32\bin
                                je ne suis pas sur que ce soit le chemin correct. (Je n'ai pas window demarré sous la main pour verifier). Les DLL de Qt sont plutot dans le dossier "lib" je pense. Tu as un fichier "QT5Cored.dll" dans ce chemin ?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  8 octobre 2018 à 23:30:50

                                  J'y avais pensé au départ oui, mais le dossier lib ne comporte que des .prl (qui ont le même nom mais autre extension, du style Qt5Core.prl)

                                  et pour QTCreator j'avais vu (sur le cours c++ de OCR) qu'il fallait utiliser le bin. J'ai donc essayé comme ça pour Netbeans...

                                  -
                                  Edité par Pristio 8 octobre 2018 à 23:32:48

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    8 octobre 2018 à 23:32:58

                                    u as un fichier "QT5Cored.dll" dans ce chemin ?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      8 octobre 2018 à 23:34:54

                                      Du tout, seulement le Qt5Cored.prl
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        8 octobre 2018 à 23:35:48

                                        Où as tu ton fichier qt5core.dll ?
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          8 octobre 2018 à 23:37:42

                                          en faite dans :

                                          E:\QT\Qt5.11.2\5.11.2\mingw53_32\bin <- j'ai les dll (dont le Qt5cored.dll)

                                          et dans

                                          E:\QT\Qt5.11.2\5.11.2\mingw53_32\lib <- j'ai les prl (dont Qt5cored.prl)

                                          -
                                          Edité par Pristio 8 octobre 2018 à 23:38:10

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            8 octobre 2018 à 23:43:23

                                            Ok, donc c'est bien le chemin vers bin qu'il faut mettre. (Je n'etais sur de comprendre).

                                            Tu as bien lancé le .exe compilé avec mingw et pas celui que tu avais compilé avant avec MSVC ?

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              8 octobre 2018 à 23:48:14

                                              il n'arrivais pas a compilé avant mingw. Au cas ou j'ai bien supprimer le dossier "dist" que netbeans a refait lors de la compilation.

                                              Ce qui n'a pas changé le problèmes du dll

                                              EDIT :

                                              Je viens d'essayer changeant le type de compilation, et le mettant en mode "release"

                                              Il m'a demander les mêmes dll (mais sans d, normal), mais il bloque quand même sur Qt5Core.dll (la même erreur, mais avec celle-ci)

                                              -
                                              Edité par Pristio 9 octobre 2018 à 0:01:54

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                9 octobre 2018 à 0:05:25

                                                Je suis desole, mais je loupe un truc. Il faudra que je check sur mon window.

                                                Postes un max d'info sur ta config actuelle, que je puisse verifier demain.

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  9 octobre 2018 à 0:16:31

                                                  Je viens de trouver un moyen de contourner le problème grace au terminal de Qt

                                                  - Touche Windows -> Taper "Qt" -> "Qt 5.11.2 for Desktop (MinGW 5.3.0 32 bit)"
                                                  - puis en tapant cette commande : windeployqt -release <chemin_de_mon_exécutable>

                                                   
                                                  Il m'a créé tous les dll et dossiers utile au fonctionnement. et mon logiciel se lance parfaitement
                                                  Je te remercie pour le temps passer a m'aider :)

                                                  -
                                                  Edité par Pristio 9 octobre 2018 à 0:20:39

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  QT sur netbeans

                                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                  • Editeur
                                                  • Markdown