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

EDI Discussion :

Compilation de code C++ et Qt sous des EDI légers (VSCode, Atom)


Sujet :

EDI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Par défaut Compilation de code C++ et Qt sous des EDI légers (VSCode, Atom)
    Bonjour
    Jusqu'à présent, je travaillait beaucoup avec des langages interprétés (Js avec Node, php, python) et principalement sur VS Code. J'ai quelques bases en C et C++, et j'aimerai bien commencer un projet avec Qt et C++. Mais alors je fait face au compilateur... et je perds tous mes moyens... J'ai réussi à compiler un programme minimal sous QtCreator (facile), sous VS 2019 (un peu plus de bricolage). Mais je n'arrive pas à m'habituer à ces gros IDE. J'aime beaucoup avoir sur mon éditeur ma documentation, mes documents de travail latex, une structure arborescente... que je ne retrouve pas avec une telle ergonomie ailleurs. Et c'est là que je suis bloqué. Il n'y a pas de gros bouton vert. Au fil de mes recherches, j'ai rajouté des dizaines de chemin au PATH et au INCLUDES, mais le hasard faisant mal les choses, rien n'y fait, si bien que je ne sais que vous envoyer. Trouverais je ici quelque bonne âme pour guider ma route ?
    Je suis à votre disposition
    Merci beaucoup

    PS. J'ai peut être une information de départ à donner: j'ai dans mon dossier Qt/5.15.0 deux dossiers : mingw81_64 et msvc2019_64. Je crois avoir compris que j'utilise le premier sous QtCreator et le second sous VS2019.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    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 772
    Par défaut


    Sans message d'erreur, ça va être difficile de t'aider .

    Sinon, tu peux lire https://www.kdab.com/using-visual-st...-applications/, ça pourrait te débloquer avec VS Code.
    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 !

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Par défaut
    Bonsoir. Merci beaucoup pour votre réponse.
    C'est assez compliqué en effet sans message d'erreur, mais je n'ai pas trouvé vraiment de base sur laquelle commencer. J'ai surtout trouvé des discussions où quelqu'un est bloqué à telle ou telle étape, et j'essayait alors de reproduire les étapes précédentes, mais je n'ai jamais abouti complètement, et cela ne m'a donné que l'impression de naviguer à l'aveuglette.
    Merci également pour le lien que vous m'avez donnée. Je l'avait déjà lu. Il expose assez bien les différents aspects des deux éditeurs.

    Essayons donc avec l'une des discussions que j'ai suivi: utiliser Cmake, et suivre les étapes de QtCreator pour compiler.
    Je crée donc un projet sous QtCreator, (QtWidgetsApplication) je choisit Cmake, le compilateur Desktop Qt 5.15.0 MSVC2019 64 bit. Je clique sur le bouton lancer, ça compile et ça m'ouvre une fenêtre. Bien.

    Si je regarde dans QtCreator les "Étapes Build", j'ai une seule étape : "Build: cmake.exe --build . --target all". Je lance "cmake.exe --build . --target all" dans le répertoire de compilation (C:\Server\EssaiQt2\build-EssaiQt5-Desktop_Qt_5_15_0_MSVC2019_64bit-Debug). Après avoir ajouter un certain nombre de ressources dans des variables d'environnement, je finit par obtenir un message d'erreur de moins de 50 lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    C:\Server\EssaiQt2\build-EssaiQt5-Desktop_Qt_5_15_0_MSVC2019_64bit-Debug>cmake.exe --build . --target all
    [2/2] Linking CXX executable EssaiQt5.exe
    FAILED: EssaiQt5.exe
    cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\EssaiQt5.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100183~1.0\x64\mt.exe --manifests  
    -- C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1426~1.288\bin\Hostx64\x64\link.exe /nologo CMakeFiles\EssaiQt5.dir\EssaiQt5_autogen\mocs_compilation.cpp.obj CMakeFiles\EssaiQt5.dir\main.cpp.obj CMakeFiles\EssaiQt5.dir\mainwindow.cpp.obj  /out:EssaiQt5.exe /implib:EssaiQt5.lib /pdb:EssaiQt5.pdb /version:0.0  /machine:x64 /debug /INCREMENTAL /subsystem:console  C:\Qt\5.15.0\msvc2019_64\lib\Qt5Widgetsd.lib C:\Qt\5.15.0\msvc2019_64\lib\Qt5Guid.lib C:\Qt\5.15.0\msvc2019_64\lib\Qt5Cored.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
    LINK Pass 1: command "C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1426~1.288\bin\Hostx64\x64\link.exe /nologo 
    CMakeFiles\EssaiQt5.dir\EssaiQt5_autogen\mocs_compilation.cpp.obj CMakeFiles\EssaiQt5.dir\main.cpp.obj CMakeFiles\EssaiQt5.dir\mainwindow.cpp.obj /out:EssaiQt5.exe /implib:EssaiQt5.lib /pdb:EssaiQt5.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console C:\Qt\5.15.0\msvc2019_64\lib\Qt5Widgetsd.lib C:\Qt\5.15.0\msvc2019_64\lib\Qt5Guid.lib C:\Qt\5.15.0\msvc2019_64\lib\Qt5Cored.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\EssaiQt5.dir/intermediate.manifest CMakeFiles\EssaiQt5.dir/manifest.res" failed (exit code 1104) with the following output:
    LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'msvcprtd.lib'
    ninja: build stopped: subcommand failed.
    A l'inverse, en compilant sur QtCreator j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [1/3 16.6/sec] Automatic MOC and UIC for target EssaiQt5
    [2/2 2.6/sec] Linking CXX executable EssaiQt5.exe
    Et un joli exécutable qui ouvre ma fenêtre vide.

    Je ne sais pas si le code de ma fenêtre est utile. Dans le doute:
    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
     
    //mainwindow.cpp
    #include "mainwindow.h"
    #include <QMainWindow>
     
    MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
    {
    	resize(1000, 512);
    	QWidget::setWindowTitle(tr("Ma fenetre"));
    }
     
    MainWindow::~MainWindow()
    {
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //main.cpp
    #include "mainwindow.h"
    #include <QApplication>
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
        return a.exec();
    }
    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
     
    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
     
    #include <QMainWindow>
     
    QT_BEGIN_NAMESPACE
    namespace Ui { class MainWindow; }
    QT_END_NAMESPACE
     
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
     
    public:
        MainWindow(QWidget *parent = nullptr);
        ~MainWindow();
     
    private:
        Ui::MainWindow *ui;
    };
    #endif // MAINWINDOW_H
    J'ai vraiment l'impression d'être très maladroit sur ce sujet... Merci encore pour votre aide.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 20
    Par défaut
    Bigre ! Tout en rédigeant mon message précédent, je compilais successivement sous QtCreator et VSCode, rajoutant des variables au fur et à mesure. VSCode n'arrivait jamais au bout de la compilation là où QtCreator m'appliquait sans fautes toutes les modifications (de taille de fenêtre) demandées. Je me suis arrêté sur la dernière erreur et ait envoyé mon message. J'ai ensuite compilé sous Qt, modifié sous VSCode, compilé sous VSCode et la modification est apparue! Cela relève peut être de la magie (et donc risque de n'être ni très instructif pour moi, ni très stable), mais pour l'instant, ça marche. Je n'ai plus de message de quoique ce soit manquant. Tout va donc pour le mieux. Je suis encore désolé de vous avoir dérangé pour ceci. Je suis incapable de dire vraiment comment débloquer quelqu'un qui serait dans la même situation, mais voilà. Bonne soirée à vous.

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

Discussions similaires

  1. Compiler du code Pascal sous Windows en .so (Java)
    Par obione dans le forum Pascal
    Réponses: 4
    Dernier message: 04/05/2010, 17h29
  2. compiler un code sous gcc?
    Par kouahlazinedine dans le forum C++
    Réponses: 2
    Dernier message: 19/01/2010, 17h57
  3. compiler un code C contenant du SQL sous Fedora
    Par riadh8 dans le forum Linux
    Réponses: 1
    Dernier message: 16/04/2009, 17h03
  4. codes sous des boutons de commandes
    Par faucus dans le forum Access
    Réponses: 1
    Dernier message: 18/12/2007, 16h20
  5. Compiler un code sous windows
    Par KORTA dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 30/09/2003, 16h53

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