web-dev-qa-db-fra.com

Qt n'a pas pu trouver le plugin de plateforme cacao

J'expérimente un peu avec Qt. J'ai réussi à écrire une petite application qui fonctionne bien sur mon ordinateur portable Windows 8.1. Maintenant, j'ai installé XCode et Qt et copié le dossier du projet sur mon MacBook. L'application se compile très bien sur mon Mac mais lorsque je ne veux pas l'exécuter via Qt Creator, j'obtiens les erreurs suivantes:

[qt.qpa.plugin] Could not find the Qt platform plugin "cocoa" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstall application may fix this problem.

J'ai lu que l'outil macdeployqt est nécessaire lorsque je souhaite déployer l'application sur d'autres PC. Mais mon application ne devrait-elle pas fonctionner sans macdeployqt lorsque je l'exécute directement avec Qt Creator?

J'utilise MacOS X 10.14 avec Qt 5.11.3. Xcode 10 et le MacOSX SDK 10.13 sont installés et configurés correctement (au moins, ils se compilent avec ce SDK et sans aucune erreur).

Est-ce que quelqu'un a une idée?

18
Benjamin J.

J'ai posté la même question il y a quelques jours sur le forum officiel de Qt, car je n'ai pas de réponse ici sur Stackoverflow: https://forum.qt.io/topic/98816/qt-could -not-find-the-platform-plugin-cocoa

Le problème semble être que j'ai installé Qt sur/Library/Qt (en dehors du répertoire utilisateur) . Après avoir réinstallé Qt dans/Users/ABC/Qt et une reconstruction complète de mon projet, tout semble fonctionner maintenant.

2
Benjamin J.

Si vous êtes sur Mac, accédez au terminal et collez ce qui suit:

pip3 install opencv-python-headless

Le plug-in de plateforme Qt nécessite l'installation de cette bibliothèque.

32
Rudra shah

Essayez de définir QT_QPA_PLATFORM_PLUGIN_PATH dans le répertoire du plugin où vous avez installé qt.

Par exemple. si QT est installé dans/Users/ABC/qt, alors exportez QT_QPA_PLATFORM_PLUGIN_PATH =/Users/ABC/qt/plugins résout probablement votre problème (je l'ai fait pour moi sur mon infuseur qt installé).

5
Hayo Baan