Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Cross compilation arch linux -> windows gtk3
Palpatine_78 Hors ligne Membre Points: 261 Défis: 0 Message

Cross compilation arch linux -> windows gtk3

Posté le 18/06/2020 19:11

hello.
J'essaie de compiler du C sur mon arch linux pour un windows. J'ai trouvé ça , et ça fonctionne ... Maintenant vient le problème des libs... Je souhaite utiliser GTK3, j'ai trouvé ça . La compilation fonctionne avec
x86_64-w64-mingw32-gcc -g test.c -Wall -o hello.exe `x86_64-w64-mingw32-pkg-config /usr/x86_64-w64-mingw32/lib/pkgconfig/gtk+-3.0.pc --cflags` `x86_64-w64-mingw32-pkg-config /usr/x86_64-w64-mingw32/lib/pkgconfig/gtk+-3.0.pc --libs`

Le hello.exe est bien généré, mais, à l'exécution, j'ai cette erreure barbare 0xc000007b , et sous wine , j'ai ça:
00c0:err:module:import_dll Loading library libglib-2.0-0.dll (which is needed by L"Z:\\home\\benoit\\Downloads\\hello.exe") failed (error c000007b).
pour chaque dll
Je précise que j'ai bien mis les dll dans le même répertoire, et que le même code fonctionne totalement compilé 'normalement' pour linux.
J'ai réinstallé mingw-w64-gtk3, mais toujours la même chose.
Je me suis sûrement planté dans pas mal de choses. J'ai trouvé sur google que mon erreur pouvait signifier que je mélange du 32 et 64 bits, mais ça ne m'avance pas beaucoup.
Désolé pour le gros hors sujet!


Cakeisalie5 Hors ligne Membre de CreativeCalc Points: 1857 Défis: 10 Message

Citer : Posté le 18/06/2020 19:33 | #


Palpatine_78 a écrit :
00c0:err:module:import_dll Loading library libglib-2.0-0.dll (which is needed by L"Z:\\home\\benoit\\Downloads\\hello.exe") failed (error c000007b).

Le chargement de la libglib-2.0-0.dll a échoué. Par hasard, est-ce que libglib-2.0-0.dll est bien distribué avec l'exécutable pour wine ? (pour Windows aucune idée de quoi tu parles, tu n'es effectivement pas sur le bon forum)

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !
Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Palpatine_78 Hors ligne Membre Points: 261 Défis: 0 Message

Citer : Posté le 18/06/2020 19:40 | #


Elle n'est pas distribuée avec wine, mais je l'ai mise dans le même dossier. Quand je l'enlève, l'erreur change, vers not found. Donc je suppose qu'elle est détectée.
Je vais demander ça sur un autre forum un peu plus adapté.
J'ai l'impression que j'ai vraiment fait n'importe quoi avec le mingw-w64-gtk3 ...
Lephenixnoir Hors ligne Administrateur Points: 21030 Défis: 143 Message

Citer : Posté le 18/06/2020 20:31 | #


Ce code d'erreur semble être STATUS_INVALID_IMAGE_FORMAT. Le format de la DLL est invalide, ce qui peut être une question d'architecture (32-bit/64-bit), d'endianness... as-tu vérifié que les caractéristiques du système sur lequel tu lances le programme compilé sont vraiment les mêmes que celles de la lib ? Je suis pas hyper familier avec MinGW donc je sais pas exactement où il faut regarder, mais c'est une piste.
Palpatine_78 Hors ligne Membre Points: 261 Défis: 0 Message

Citer : Posté le 18/06/2020 20:59 | #


Merci beaucoup.
J'ai réussi :-)
J'avais pris des dll trouvé sur internet au lieu de prendre celles distribuées avec mingw-w64-gtk3
J'ai fait un locate nom d'une dll invalide, l'ai trouvé dans le bin de l'architecture et ai copié le contenu du répertoire.

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 43 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd