Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utiliser compilateur C++ de MSVC avec Qt Creator

    16 octobre 2016 à 19:14:17

    Bonjour,

    Je souhaite utiliser Qt Creator avec le compilateur C++ de Visual Studio (en lieu et place de Mingw qui est par défaut sur Qt). Je fais cela car j'ai besoin d'utiliser "webenginewidgets" pour faire un navigateur, et de ce que j'ai compris suite à mes recherches sur le web, webenginewidgets doit être compilé avec le compilateur de MSVC.

    Voilà ce que j'ai fait :

    - J'ai installé Qt pour MSVC grâce au MaintenanceTool.

    - J'ai installé Microsoft Visual Studio 2015

    - J'ai bien le compilateur C++ d'installé car j'arrive à compiler un projet C++ avec MS Visual Studio.

    - J'ai configuré Qt Creator pour qu'il utilise par défaut le compilateur de MS Visual Studio.

    Je pense avoir tout fait correctement, sauf que ça ne marche toujours pas... (Lorsque je compile j'ai l'erreur "Unknown module(s) in QT: webenginewidgets")

     J'utilise Qt 5.7.0.

    Aurais-je oublié quelque chose? Quelqu'un aurait il une idée svp pour me débloquer? Merci!

    -
    Edité par mw72 16 octobre 2016 à 19:16:05

    • Partager sur Facebook
    • Partager sur Twitter
      16 octobre 2016 à 23:58:08

      Salut,

      Exactement le même problème que toi, j'ai installé Visual Studio 2015.

      Mais rien à faire dans Qt creator le compilateur n’apparaît pas dans les options.

      J'ai installé VS2015 sur mon second DD, cela peux-t-il venir de ça? J'ai eu beau le réinstaller pas moyen de change le chemin d'installation.

      ps: Je voulais faire le tuto zNavigo, mais apparemment webkit n'est plus disponible, il est remplacé par webenginewidgets mais il ne marche pas avec le compilateur minGW, seulement avec msvc. 

      -
      Edité par BardeNiko 16 octobre 2016 à 23:59:06

      • Partager sur Facebook
      • Partager sur Twitter
        17 octobre 2016 à 9:06:44

        Salut,

        Sauf erreur de ma part, il faut faire attention que l'installation de visual studio ne modifie pas la variable PATH (la variable qui contient tous les chemins d'accès permettant d'accéder aux exécutable).

        Or, c'est, justement, cette variable qui permet à QtCreator de retrouver les différents compilateurs

        Dans le menu démarrer, dans la section "visual studio (votre version)", vous devriez tous les deux avoir la possibilité de lancer une invite de commande dont la variable PATH est (temporairement) mise à jour (comprenez : tant que l'invite de commande reste ouverte).

        En lançant QtCreator depuis cette invite de commande, cela devrait lui permettre de retrouver le compilateur de visual studio.

        Mais cela ne résoudera sans doute qu'un problème! Car il faut savoir que, si on s'amuse à fournir des versions de Qt pour différents compilateurs, ce n'est pas pour rien : c'est parce que l'ABI (Application Binary Interface) de C++ n'est pas du tout standardisée et que les différents compilateurs C++ en font un peu à leur propre sauce (alors qu'elle l'est, au moins sur base d'un système d'exploitation, en C).

        Si bien qu'une DLL compilée avec MinGW ne fonctionnera pas avec une application compilée avec VC++, et l'inverse n'est pas non plus.

        Or, en théorie, pour que QtCreator arrive à retrouver l'ensemble des en-têtes et des bibliothèques Qt, il se base sur  une autre variable d'environnement appelée QT_DIR qui correspond au dossier racine dans lequel a été effectuée l'installation.

        Or, si vous avez une version de Qt pour MinGW installée "dans un coin" et une autre pour VC++ "dans un autre coin", la variable QT_DIR ne pourra jamais représenter qu'un seul de "ces coins", car, même si on essayait de concaténer les deux chemins dans la variable QT_DIR, il y a de fortes chances pour que QtCreator ne prenne que le premier chemin indiqué.  Et il y a donc une chance sur deux ... pour que ce soit le mauvais.

        Avant de lancer QtCreator depuis l'invite de commandes, il s'agira donc de s'assurer que cette variable contienne effectivement le bon chemin d'accès, celui qui permettra d'accéder à la bonne version de Qt ;)

        Amusez vous bien ;)

        EDIT Notez d'ailleurs que le problème sera sensiblement le même sous visual studio : une variable QT_DIR pour plusieurs version du framework, ca nécessite de jongler un tout petit peu ;)

        -
        Edité par koala01 17 octobre 2016 à 9:38:27

        • Partager sur Facebook
        • Partager sur Twitter
        Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
          17 octobre 2016 à 18:55:10

          Salut,

          D'abord merci pour ton aide, de mon côté cela ne marche pas de l'ouvrir depuis l'invite de commande.

          J'ai aussi essayé d'ajouter manuellement la chemin d’accès "D:\Program Files\Microsoft Visual Studio 14.0\Common7\Tools" à la variable d'environnement système Path, puis de désinstaller/réinstaller Qt 5.7.0 MSVC2015 32Bit, tjrs rien.

          Après de multiple recherche sur internet qui réponde en rien à ma question je me demande si quelqu'un arrive vraiment à utiliser ce kit ^^.

          • Partager sur Facebook
          • Partager sur Twitter
            17 octobre 2016 à 22:01:04

            Merci pour ton aide koala01!

            En fait dans mon cas, Qt Creator trouve bien le compilateur MSVC2015 (comme l'indique le schéma joint). Bon, j'ai un warning disant que le champ "CMake Configuration" n'est pas renseigné, mais je ne pense pas que ça soit mon problème étant donné que j'utilise qmake.

            BardeNiko, je suis également entrain de faire zNavigo ^^. 

            Du coup, j'ai fini par revenir en arrière sur la version de Qt pour utliser webkit plutôt que webengine. J'ai installé la version 5.4.1 (dernière version supportant WebKit), et je compile avec MinGW.

            Bon courage

            -
            Edité par mw72 17 octobre 2016 à 22:59:04

            • Partager sur Facebook
            • Partager sur Twitter

            Utiliser compilateur C++ de MSVC avec Qt Creator

            × 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