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

GTK+ Discussion :

Compiler sous mac vers executable windows


Sujet :

GTK+

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2019
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Compiler sous mac vers executable windows
    Bonjour,

    Je suis débutant en programmation, j'apprend actuellement à créer une GUI pour une application destinée à être utilisée sur des ordinateurs windows. Je code sur un macOS en utilisant gcc compiler, la GUI est codée en C avec la bibliothèque GTK+.

    Mon problème est le suivant : je compile sur mon mac et il résulte un Unix Executable, c'est pluot logique, mais si je veux utiliser mon application sur windows il faudrait que je compile un executable windows (.exe). Savez-vous s'il y a un moyen de compiler un executable windows en utilisant gcc sous macOS ?

    Merci d'avance !

    Augustin

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    12 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 12 212
    Points : 27 294
    Points
    27 294
    Par défaut
    Regardes du coté de minGW
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2009
    Messages
    1 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2009
    Messages : 1 393
    Points : 2 057
    Points
    2 057
    Par défaut
    Bonjour,

    it te faut un cross-compilateur. https://fr.wikipedia.org/wiki/Compil...n_crois%C3%A9e
    En gros tu dois trouver pour ton mac une version de gcc qui au lieu de générer du code natif génère du code pour windows. Sous linux c'est généralement gcc-mingw64, il faut trouver une version qui tourne sous macOS.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2019
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par liberforce Voir le message
    Bonjour,

    it te faut un cross-compilateur. https://fr.wikipedia.org/wiki/Compil...n_crois%C3%A9e
    En gros tu dois trouver pour ton mac une version de gcc qui au lieu de générer du code natif génère du code pour windows. Sous linux c'est généralement gcc-mingw64, il faut trouver une version qui tourne sous macOS.

    Ok je vois, ça risque pas de poser un problème avec GTK+ ? En gros pour compiler j'ai besoin de passer sur un environnement jhbuild shell puis j'utilise pkg-config pour link les library, en utilisant gcc-mingw ça marchera toujours ?

  5. #5
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2009
    Messages
    1 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2009
    Messages : 1 393
    Points : 2 057
    Points
    2 057
    Par défaut
    Pas sûr que tu aies besoin de rebuilder GTK+ (et si tu devais le faire, un GTK 3 récent utilisera le build system meson et t'évitera la galère de jhbuild).
    Tu n'en auras besoin que si tu ne trouves pas de paquet précompilé de GTK+ pour Windows. Or le projet MSYS2 en fournit déjà: https://packages.msys2.org/package/m...64-x86_64-gtk3

    Tu peux donc builder ton appli pour Windows, tu n'as normalement besoin que des headers GTK pour te linker, pas ds binaires. Tu ne pourras cependant pas exécuter directement la version Windows sur macOS. Tu pourras cependant générer un package pour MSYS2 en précisant la dépendance sur GTK, comme ça ton application se déploiera rapidement sous Windows. Si ensuite tu veux un "bundle" de ton appli + ses dépendances sous Windows pour éviter la dépendance à MSYS2, installer l'appli et ses dépendances avec un préfixe différent via pacman, le package manager de MSYS2. Tu as juste à zipper le dossier final et tu as une appli Windows redistribuable.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2019
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par liberforce Voir le message
    Pas sûr que tu aies besoin de rebuilder GTK+ (et si tu devais le faire, un GTK 3 récent utilisera le build system meson et t'évitera la galère de jhbuild).
    Tu n'en auras besoin que si tu ne trouves pas de paquet précompilé de GTK+ pour Windows. Or le projet MSYS2 en fournit déjà: https://packages.msys2.org/package/m...64-x86_64-gtk3

    Tu peux donc builder ton appli pour Windows, tu n'as normalement besoin que des headers GTK pour te linker, pas ds binaires. Tu ne pourras cependant pas exécuter directement la version Windows sur macOS. Tu pourras cependant générer un package pour MSYS2 en précisant la dépendance sur GTK, comme ça ton application se déploiera rapidement sous Windows. Si ensuite tu veux un "bundle" de ton appli + ses dépendances sous Windows pour éviter la dépendance à MSYS2, installer l'appli et ses dépendances avec un préfixe différent via pacman, le package manager de MSYS2. Tu as juste à zipper le dossier final et tu as une appli Windows redistribuable.
    Dac, merci beaucoup pour l'info

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/06/2015, 13h17
  2. Compiler sous Linux un exécutable Windows
    Par iWizzers dans le forum Qt
    Réponses: 2
    Dernier message: 24/06/2014, 22h03
  3. [DEV] Langage objet sous mac et portable windows
    Par kaizer dans le forum Apple
    Réponses: 14
    Dernier message: 18/10/2007, 18h01
  4. [DEV] Compilation sous Mac OS
    Par RIPS78 dans le forum Apple
    Réponses: 7
    Dernier message: 05/10/2007, 03h47
  5. [mono] Compilation sous linux, erreur dans windows
    Par AlexandreP dans le forum Mono
    Réponses: 6
    Dernier message: 18/08/2006, 20h56

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