J'ai une application simple window, construite avec MSYS2, que je veux pouvoir exécuter en dehors du shell MSYS2 MinGW, juste en double-cliquant sur l'application.Exécution d'une application GTK + construite avec MSYS2 en double-cliquant simplement
Le problème est que lorsque je veux exécuter l'application, il doit être par l'invite MSYS MinGW
sinon il renvoie une erreur.
The code execution cannot proceed because libgio-2.0-0.dll was not found. Reinstalling the program may fix this problem
J'ai essayé, y compris (en copiant les fichiers à l'emplacement de mon exe) libgio-2.0-0.dll
et plus d'erreurs sont apparues en disant bibliothèques ont été portées disparues. J'ai inclus ces fichiers aussi. Je l'ai montré les fichiers que j'inclus ci-dessous:
libffi-6.dll
libgdk-3-0.dll
libglib-2.0-0.dll
libgmodule-2.0-0.dll
libgtk-3-0.dll
libgobject-2.0-0.dll
libgio-2.0-0.dll
libatk-1.0-0.dll
libcairo-gobject-2.dll
libcairo-2.dll
libepoxy-0.dll
libpcre-1.dll
libwinpthread-1.dll
libgdk_pixbuf-2.0-0.dll
libpango-1.0-0.dll
En fin de compte une erreur apparaît disant:
The application was unable to start correctly (0xc000007b). Click OK to close the application.
I found what the error message means:
Ce particulier le code d'erreur fait référence à un format d'image non valide. Cependant, ce que le code d'erreur signifie généralement, c'est que vous essayez d'exécuter un programme qui est destiné à fonctionner avec un système d'exploitation Windows 64 bits, mais que vous avez seulement un système d'exploitation 32 bits.
Cependant, cela n'aide pas car j'utilise un ordinateur x64. Les DLL sont x64 ainsi que l'exe. GTK + dépend de certaines bibliothèques et en dehors de ce que j'ai fait ci-dessus, je ne trouve aucune solution et je ne trouve aucune documentation sur les dépendances à inclure pour ne pas l'exécuter via l'invite MSYS.
Alors, que dois-je faire pour que ma fenêtre fonctionne? L'application est correcte, il y a un problème avec les dépendances.
Deuxièmement, quelles sont les dépendances que j'ai besoin d'inclure (ou ai-je listé chacune d'elles dans quel cas, ce qui ne va pas avec ma fenêtre) pour le script que j'ai donné?
Enfin, y a-t-il un moyen plus simple que ce que j'essaye de faire pour obtenir toutes les dépendances nécessaires?
À titre expérimental, j'ai copié tout le contenu du dossier 'bin' avec mon application. Double-cliquez dessus et la fenêtre s'ouvre. Un message d'erreur est apparu sur l'écran de la console mais la fenêtre s'est ouverte. Puis j'ai enlevé tous les exe et ça a toujours marché. Et puis toute la DLL sauf celles que j'ai mentionnées plus haut. Il a retourné la même erreur. Cela m'amène à croire qu'un DLL est manquant. Il y a aussi une erreur disant: 'Impossible de trouver l'icône 'window-minimize-symbolic-ltr'. Le thème hicolor 'une idée pour résoudre ce problème? – Simon
OK ouais aucune idée quelle DLL est manquante? – Simon
Utilisez le gestionnaire de paquets 'pacman' pour répertorier les fichiers inclus dans le package GTK +. – liberforce