6
votes

Compiler Compile GTK + Application de Linux à Windows?

Comment puis-je croiser ma compilation mon application GTK + (écrite en C) de Linux à Windows? Puis-je simplement remplacer la commande "GCC" avec "MINGW32"?


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser Mingw-Cross-env - tout ce que vous avez à faire alors est de Changez votre chemin d'accès à l'environnement CC / CXX pour utiliser le préfixe I686-MINGW32 et exporter les DIRS de BIN MINGW-CROSS-ENV (à la fois) sur votre variable de chemin (ou si vous utilisez AutoTool, il est encore plus facile) - voir la documentation sur la page d'accueil .


1 commentaires

pas tout à fait, ramasser des cflags et des trucs pour GTK n'est pas tout à fait aussi simple, vous auriez besoin de vous assurer que pkg-config cherche au bon endroit



2
votes

Fedora possède une grande boîte à outils croisée Compiler MINGW32 qui est livrée avec de nombreuses bibliothèques précompilées, y compris GTK + et GTKMM. Pour la plupart des applications, il vous suffit d'installer le compilateur croisé et les bibliothèques GTK + compilées croisées: Yum Installer Mingw32-GCC MINGW32-GTK2

Une fois que tout ce qui est nécessaire est installé, la compilation de votre application est simplement la matière d'exécution de "MINGW32-CONFIGURE" suivie de "make".

Plus d'informations sur la page du projet https://fedorAproject.org/wiki/mingw


0 commentaires

0
votes

Il y a en fait un projet appelé MXE qui fait exactement cela.

Il a une wrapper facile ( x86_64-w64-mingw32.static-cmake code>) à Cross-Build fort> Votre projet vers Windows, tout en utilisant Linux. Permettant de construire uniformément votre projet dans un seul fichier .exe! Bien sûr, des constructions partagées ( x86_64-w64-mingw32.shared-cmake code>) sont également prises en charge. Les examens d'exemple sont destinés aux projets basés sur la cmake. P>

Avant de pouvoir créer votre projet avec MXE, vous devez construire le GTK3 à partir du code source. (Certains forfaits Linux sont disponibles, mais surtout hors daté). Si vous utilisez C ++, vous pouvez également créer gtkmm3 code>. Depuis que vous êtes en place C, il vous suffit de construire gtk3 code>. P>

  1. git clone https://github.com/mxe/mxe.git code> li>
  2. devenir utilisateur root: su code> li>
  3. mv mxe / opt / mxe code> li>
  4. cd / opt / mxe code> li>
  5. construire vous-même le projet MXE: LI> ol>

    pour les constructions statiques sous Windows 64 bits pour GTK3 & GTKMM3: p> xxx pré>

    pour la construction partagée à Windows 64 bits (à nouveau GTK3 + GTKMM3): P>

    sudo make gtk3 gtkmm3 -j 16 MXE_TARGETS='x86_64-w64-mingw32.shared' MXE_PLUGIN_DIRS='plugins/gcc12'
    


0 commentaires