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 :

Console vide au lancement d'un projet Qt


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut Console vide au lancement d'un projet Qt
    Salut,

    J'ai un petit soucis, comme le dis le titre j'ai une fenêtre ms dos vide qui s'ouvre en même temps que la fenêtre Qt.

    Mon code est le suivant ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <QtGui/QApplication>
    #include <QtGui/QPushButton>
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
        QPushButton bouton("Salut");
        bouton.show();
     
        return app.exec();
    }
    Je suis sous Visual Studio 2008 avec la version de Qt compilée pour VS 2008 qu'on trouve sur le site officiel de Qt.

    Mon projet est un "projet vide", je suis bien en mode Release et la fenêtre apparait même quand je lance l'exécutable directement depuis l'explorateur windows. Je suis sous Windows 7 (64 bits) et je lance Visual Studio à l'aide du fichier .bat fourni par Qt qui positionne les variables indiquant les chemins d'installations de Qt.

    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
     
    @echo off
    rem
    rem This file is generated by the Qt installer
    rem
     
    echo Setting up a Qt environment...
     
    set QTDIR=C:\Qt\4.6.3
    echo -- QTDIR set to C:\Qt\4.6.3
    set PATH=C:\Qt\4.6.3\bin;%PATH%
    echo -- Added C:\Qt\4.6.3\bin to PATH
    set QMAKESPEC=win32-msvc2008
    echo -- QMAKESPEC set to "win32-msvc2008"
     
    if not "%1"=="vsvars" goto ENDVSVARS
    call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
    :ENDVSVARS
     
    if not "%1"=="vsstart" goto ENDVSSTART
    call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
    devenv /useenv
    :ENDVSSTART
    Edit : Quand je ferme ma fenêtre Qt, la console affiche "Appuyez sur une touche pour continuer..."

    Aie, j'ai déjà vu sa sous Visual Studio, sa doit venir de lui mais je ne trouve plus l'option pour désactiver cette console !

    Voila, je sais pas trop d'où vient le problème

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 19
    Par défaut
    Dans ton .pro

    supprime CONFIG += console debug

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut
    Ben j'ai pas l'impression d'avoir un fichier .pro c'est sa que je comprend pas trop.

    J'ai pris la version Qt compilée pour VS 2008 et Visual Studio se charge de tout, je ne voie ni .pro dans mon repertoire et je n'ai pas besoin d'appeler qmake et make (il me semble qu'avant avec visual studio il fallait faire un projet makefile et appeler soi-même qmake et make).

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut
    Maj : j'ai vu que QMAKESPEC appel dans mon cas ce fichier de conf :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
     
    #
    # qmake configuration for win32-msvc2008
    #
    # Written for Microsoft VC2005.NET
    #
     
    MAKEFILE_GENERATOR      = MSVC.NET
    TEMPLATE                = app
    CONFIG                  += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
    QT                      += core gui
    DEFINES                 += UNICODE WIN32 QT_LARGEFILE_SUPPORT
    QMAKE_COMPILER_DEFINES  += _MSC_VER=1500 WIN32
     
    QMAKE_CC                = cl
    QMAKE_LEX               = flex
    QMAKE_LEXFLAGS          =
    QMAKE_YACC              = byacc
    QMAKE_YACCFLAGS         = -d
    QMAKE_CFLAGS            = -nologo -Zm200 -Zc:wchar_t-
    QMAKE_CFLAGS_WARN_ON    = -W3
    QMAKE_CFLAGS_WARN_OFF   = -W0
    QMAKE_CFLAGS_RELEASE    = -O2 -MD
    QMAKE_CFLAGS_DEBUG      = -Zi -MDd
    QMAKE_CFLAGS_YACC       =
    QMAKE_CFLAGS_LTCG       = -GL
     
    QMAKE_CXX               = $$QMAKE_CC
    QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
    QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
    QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
    QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
    QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
    QMAKE_CXXFLAGS_YACC     = $$QMAKE_CFLAGS_YACC
    QMAKE_CXXFLAGS_LTCG     = $$QMAKE_CFLAGS_LTCG
    QMAKE_CXXFLAGS_STL_ON   = -EHsc
    QMAKE_CXXFLAGS_STL_OFF  =
    QMAKE_CXXFLAGS_RTTI_ON  = -GR
    QMAKE_CXXFLAGS_RTTI_OFF =
    QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
    QMAKE_CXXFLAGS_EXCEPTIONS_OFF =
     
    QMAKE_INCDIR            =
    QMAKE_INCDIR_QT         = $$[QT_INSTALL_HEADERS]
    QMAKE_LIBDIR_QT         = $$[QT_INSTALL_LIBS]
     
    QMAKE_RUN_CC            = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
    QMAKE_RUN_CC_IMP        = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
    QMAKE_RUN_CC_IMP_BATCH  = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
    QMAKE_RUN_CXX           = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
    QMAKE_RUN_CXX_IMP       = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $<
    QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
     
    QMAKE_LINK              = link
    QMAKE_LFLAGS            = /NOLOGO
    QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO
    QMAKE_LFLAGS_DEBUG      = /DEBUG
    QMAKE_LFLAGS_CONSOLE    = /SUBSYSTEM:CONSOLE
    QMAKE_LFLAGS_WINDOWS    = /SUBSYSTEM:WINDOWS \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"
    QMAKE_LFLAGS_DLL        = /DLL
    QMAKE_LFLAGS_LTCG       = /LTCG
     
    QMAKE_LIBS_CORE         = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib
    QMAKE_LIBS_GUI          = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib
    QMAKE_LIBS_NETWORK      = ws2_32.lib
    QMAKE_LIBS_OPENGL       = opengl32.lib glu32.lib gdi32.lib user32.lib
    QMAKE_LIBS_COMPAT       = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib
     
    QMAKE_LIBS_QT_ENTRY     = -lqtmain
     
    QMAKE_MOC               = $$[QT_INSTALL_BINS]\moc.exe
    QMAKE_UIC               = $$[QT_INSTALL_BINS]\uic.exe
    QMAKE_IDC               = $$[QT_INSTALL_BINS]\idc.exe
     
    QMAKE_IDL               = midl
    QMAKE_LIB               = lib /NOLOGO
    QMAKE_RC                = rc
     
    QMAKE_ZIP               = zip -r -9
     
    QMAKE_COPY              = copy /y
    QMAKE_COPY_DIR          = xcopy /s /q /y /i
    QMAKE_MOVE              = move
    QMAKE_DEL_FILE          = del
    QMAKE_DEL_DIR           = rmdir
    QMAKE_CHK_DIR_EXISTS    = if not exist
    QMAKE_MKDIR             = mkdir
     
    VCPROJ_EXTENSION        = .vcproj
    VCSOLUTION_EXTENSION    = .sln
    VCPROJ_KEYWORD  = Qt4VSv1.0
    load(qt_config)
    J'ai rajouté le CONFIG -= console -> pas de changement.
    Sinon je voie du coté de Visual studio dans Link->Advanced->SubSystem->NotSet et apparament en trouvant une fonction main de type :

    int main(int argc, char **argv)

    Il choisi par défaut SubSystem:CONSOLE donc une console apparaîtrait.
    L'ennuie c'est que si je choisi SubSystem:Window j'ai l'impression que je doit remplacer ma fonction main par un WinMain avec en argument les HANDLE spécifiques de win32. Donc en gros le code devient platform dependent : c'est obligé?

    Y a des gens qui utilisent Qt + Visual studio ? Comment faites vous de votre coté ?

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 754
    Par défaut
    Citation Envoyé par suRem Voir le message
    Visual Studio se charge de tout, je ne voie ni .pro dans mon repertoire
    Tu veux dire que tu utilises l'add-in ou bien tu le fais à la bourrine ? Si tu utilises l'add-in, exporte le fichier .pro qu'on voie ce à quoi ça ressemble ; si tu passes à la méthode de nos ancêtres les gaulois, utilise QMake avec la commande :

    pour obtenir un fichier de projet (il faut évidemment avoir un pro dans le dossier courant ; voir tous les tutos d'intro à ce sujet : http://qt.developpez.com/tutoriels/).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut
    Salut, le code que j'ai mis tout au début compile bien sans problème et je voie bien ma petite fenêtre apparaître donc je serai tenté de dire que sa marche.

    De quel add-in parles-tu ? Je n'ai eu besoin d'aucun add-in Qt pour compiler le projet. J'ai rajouté après l'add-in Qt pour Visual Studio mais sa ne m'as pas apporté grand chose à part la possibilité d'importer des fichier .pro mais je n'en ai aucun.

    Que veux-tu dire par méthode bourrine ?!

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 754
    Par défaut
    Citation Envoyé par suRem Voir le message
    De quel add-in parles-tu ? Je n'ai eu besoin d'aucun add-in Qt pour compiler le projet. J'ai rajouté après l'add-in Qt pour Visual Studio mais sa ne m'as pas apporté grand chose à part la possibilité d'importer des fichier .pro mais je n'en ai aucun.
    Ça t'apporte au contraire énormément : tu lui dis que tu veux une application Qt, il te configure tout comme si tu avais un pro. Donc, jamais de problème de moc pas passé ou un truc du genre. Tu peux aussi exporter un pro, ce qui est utile parfois, quand tu dois changer de plateforme par exemple.

    Citation Envoyé par suRem Voir le message
    Que veux-tu dire par méthode bourrine ?!
    Définir soi-même les dépendances au linkage, le passage au moc, etc.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/04/2010, 17h17
  2. Lancement d'un projet en code source à partir d'un groupe de projet
    Par Domi63 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 28/12/2006, 16h06
  3. Lancement d'un projet
    Par evangelius dans le forum Flash
    Réponses: 5
    Dernier message: 16/07/2006, 12h31
  4. [Débutant] Lancement d'un projet Open Source
    Par itanea dans le forum Général Java
    Réponses: 12
    Dernier message: 28/05/2006, 21h54
  5. [Plugin]Lancement d'un projet JSP sous Eclipse avec Tomcat
    Par samios dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 25/08/2004, 18h03

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