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

Discussion :

Application console

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par défaut Application console
    Bonjour,

    je débute avec Qt, je peux lancer un projet, en choisissant un projet makefile lors de la création d'un nouveau projet et en remplissant les lignes de commandes build par qmake -project & qmake & nmake etc...

    Je me demandais s'il était possible de faire un projet win32 console avec qt. J'aimerais tester une simple fonction pour récupérer le path de application data et récupérer le résultat en QString.

    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 "stdafx.h"
    #include <iostream>
    using namespace std;
    #include <QString>
    #include <Windows.h>
    #include <shlobj.h> // for getFolderPath function
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	cout << "Get Application Data"<< endl;
     
    	QString home="";
    	TCHAR szPath[MAX_PATH];
    	if(SUCCEEDED(SHGetFolderPath(NULL, 
                                 CSIDL_APPDATA, 
                                 NULL, 
                                 0, 
                                 szPath))) 
    	{
    		home = QString::fromWCharArray(szPath);
     
    	}
     
    	system("PAUSE");
    	return 0;
    }
    Lorsque j'essaie de compiler j'ai l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cannot open include file: 'QString': No such file or directory
    Que faut-il donc rajouter dans les options du projet en plus des modifications déjà effectuées lors du tutoriel précédemment cité?

    Merci d'avance pour toute réponse

  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
    Salut
    alors dans l'ordre :
    1- vue le code que tu montre, je te conseil de regarder ces tuto http://qt.developpez.com/tutoriels/introduction-qt/
    2- au lieu de faire qmake -project & qmake & nmake fait qmake -tp vc cela te générera un vcjproj que tu peut ouvrir avec visual et ainsi utiliser le meilleur débogueur sous windows.
    3- pour la console, il faut ajouter CONFIG += console dans le .pro

    Si tu as visual 2008 pro, il existe un addin gratuit sur le site de QtSoftware.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 106
    Par défaut
    bonjour
    Qstring se trouve dans le fichier include/QtCore
    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <QtCore/QString>
    ça c'est un debut mais tu te retrouve avec une ereur genre
    no matching function for call to QString::fromWCharArray(TCHAR[260])
    A+ si je trouve la solution

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 106
    Par défaut
    J ai fait une petite modification à ton code
    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 <iostream>
    //#include <QString>
    #include "QtCore/QString"
    #include <Windows.h>
    #include <shlobj.h> // for getFolderPath function
     
    using namespace std;
     
    // int _tmain(int argc, _TCHAR* argv[])   à remplacer par :
    int main(int argc, _TCHAR* argv[])
    {
    	cout << "Get Application Data"<< endl;
    	QString home="";
    	//TCHAR szPath[MAX_PATH];   à remplcer par :
    	WCHAR szPath[MAX_PATH];
    // if(SUCCEEDED(SHGetFolderPath(NULL,  à remplcer par :
    	if(SUCCEEDED(SHGetFolderPathW(NULL,
                                 CSIDL_APPDATA,
                                 NULL,
                                 0,
                                 szPath)))
    	{
    		home = QString::fromWCharArray(szPath);
    	}
    	system("PAUSE");
    	return 0;
    }
    peut etre que ça peut aider un peu .

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/05/2004, 15h37
  2. [Kylix] une application console
    Par naili dans le forum EDI
    Réponses: 3
    Dernier message: 19/04/2004, 14h27
  3. [Delphi] Application "console" et caractères ASCII
    Par Yorys dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 31/07/2003, 09h50
  4. [Kylix] Kylix 3 et Applications console
    Par deniscm dans le forum EDI
    Réponses: 2
    Dernier message: 14/01/2003, 13h37
  5. [Kylix] application console avec kylix 3 ?
    Par Hakim dans le forum EDI
    Réponses: 4
    Dernier message: 15/11/2002, 22h45

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