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 :

Déployer une application Qt console


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    cedrix57
    Invité(e)
    Par défaut Déployer une application Qt console
    Bonjour,

    J'ai créé une application qt qui convertie un fichier html en pdf. L'application s'utilise de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    htmlConverter.exe file:///d:\from.html d:\to.pdf
    Depuis Qt Creator ce programme fonctionne en mode debug et release. Mais depuis une console windows je n'arrive pas à le lancer. J'ai mis dans un dossier mon programme htmlConverter.exe et j'ai aussi mis toutes les dll du dossier suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\QtSDK\Desktop\Qt\4.8.0\msvc2010\bin
    Mais j'obtiens une erreur étrange quand je lance mon programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    QIODevice::read: maxSize argument exceeds QByteArray size limit
    Qt has caught an exception thrown from an event handler. Throwing
    exceptions from an event handler is not supported in Qt. You must
    reimplement QApplication::notify() and catch all exceptions there.
    Je pense que cela est un problème de dll...quelqu'un sait ce que je dois faire pour déployer correctement mon application?

    En passant voici mon code:
    htmlConverter.pro
    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
     
    #-------------------------------------------------
    #
    # Project created by QtCreator 2012-06-29T11:38:55
    #
    #-------------------------------------------------
     
    QT       += core gui network webkit xmlpatterns
     
     
    TARGET = htmlConverter
    CONFIG   += console
    CONFIG   -= app_bundle
     
    TEMPLATE = app
     
     
    SOURCES += main.cpp \
        convertor.cpp
     
    OTHER_FILES += \
        xsl/eric.xsl \
        xsl/eric.xml \
        xsl/count.xsl \
        xsl/agents.xml
     
    HEADERS += \
        convertor.h
    convertor.h
    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
    #ifndef CONVERTOR_H
    #define CONVERTOR_H
     
    #include <QObject>
    #include <QtGui>
    #include <QtNetwork>
    #include <QtWebKit>
     
    class Convertor : public QObject
    {
        Q_OBJECT
    public:
        explicit Convertor(QObject *parent = 0);
     
    signals:
     
    public slots:
      void setPaths(QString htmlPath, QString pdfPath);
      void convert(bool ok);
     
    private:
      QWebView web;
      QPrinter printer;
    };
    #endif // CONVERTOR_H


    convertor.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
    #ifndef CONVERTOR_H
    #define CONVERTOR_H
     
    #include <QObject>
    #include <QtGui>
    #include <QtNetwork>
    #include <QtWebKit>
     
    class Convertor : public QObject
    {
        Q_OBJECT
    public:
        explicit Convertor(QObject *parent = 0);
     
    signals:
     
    public slots:
      void setPaths(QString htmlPath, QString pdfPath);
      void convert(bool ok);
     
    private:
      QWebView web;
      QPrinter printer;
    };
     
    #endif // CONVERTOR_H
    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
     
    #include <QTGui/QApplication>
    #include <QtCore>
    #include <iostream>
     
     
    #include "convertor.h"
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
     
        if(argc<3){
            std::cerr << "You need to enter two arguments : the url and the output pdf file name" << "\n";
            return a.exec();
        }
     
        Convertor convertor;
        convertor.setPaths(argv[1], argv[2]);
     
        return a.exec();
    }
    Merci d'avance,

    Cédric

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 25
    Par défaut
    Salut,
    Je pense que cela est un problème de dll...quelqu'un sait ce que je dois faire pour déployer correctement mon application?
    Lorsque tu lances l'exécutable depuis l'interface graphique il ne te dit pas quelles sont les dll à ajouter?

    Personnellement j'utilise depends pour voir les dépendances de mon programme (http://www.dependencywalker.com)

  3. #3
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    Cela ne ressemble pas à un problème de dll. Mais as tu vérifié que tu copiais les version release des dll (les debug ont généralement un d à la fin du nom de fichier avant l'extension).

    As tu essayé de lancer ton programme avec les mêmes fichiers d'entrée dans ton IDE ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/02/2010, 11h00
  2. [RCP] déployer une application
    Par alexixlebaulois dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 10/01/2006, 09h55
  3. Réponses: 2
    Dernier message: 23/03/2005, 21h58
  4. [Intraweb] Déployer une application intraweb sur IIS ?
    Par maxgar dans le forum Web & réseau
    Réponses: 9
    Dernier message: 21/07/2004, 14h21
  5. [Kylix] Déployer une application Kylix 3
    Par Bestiol dans le forum EDI
    Réponses: 4
    Dernier message: 17/04/2004, 00h22

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