Bonjour,
est-ce que qqn aurait fait ou participé à un projet GTK+ multi platforme ?
que faut-il choisir comme compilateur ?
est-il facile de porter le projet sous win32 ?
à quoi faut-il faire attention ?
merci
Bonjour,
est-ce que qqn aurait fait ou participé à un projet GTK+ multi platforme ?
que faut-il choisir comme compilateur ?
est-il facile de porter le projet sous win32 ?
à quoi faut-il faire attention ?
merci
est-ce que qqn aurait fait ou participé à un projet GTK+ multi platforme ?
Oui mais jamais terminés![]()
que faut-il choisir comme compilateur ?
GCC me paraît ce qu'il y'a de mieux !
est-il facile de porter le projet sous win32 ?
Tout dépend des bibliothèques utilisées, endehors de GTK+, les sockets par exemple peuvent rendre le portable un peu plus complexe vu que leur utilisation entre Windows et Linux diffèrent légèrement !
à quoi faut-il faire attention ?
A utiliser le plus souvent possible les fonctions et type de la Glib en lieu et place des fonctions et types standard, ce qui garanti une portabilité optimale mais rien n'empêche d'utiliser également les fonction standard conjointement !
est-ce que depuis linux, je peux générer un exécutable windows avec gcc ?que faut-il choisir comme compilateur ?
GCC me paraît ce qu'il y'a de mieux !
est-ce qu'il s'agit juste d'avoir le bon Makefile pour chaque platforme ?
si oui, sais-tu où je peux trouver un exemple ?
est-ce que depuis linux, je peux générer un exécutable windows avec gcc ?
A ma connaissance non, sauf peut-être passer par le biais d'un émulateur Windows mais je doute que cele soit réellement recommandé !
Si tu développes un programme portable, la compilation doit être faite indépendement sur chaque implémentations !
est-ce qu'il s'agit juste d'avoir le bon Makefile pour chaque platforme ?
Pas seulement mais suivant les options de compilations de chaque compilateur utilisé (suivant les plateformes) cela peut varier !
Rien que le fait de linker des libs pour une compilation sous Win32 par rapport à Linux ou autre OS cela change beaucoup !
Le mieux étant de passer par un EDI pour se faciliter la tâche, Code::Blocks existe pour Windows et Linux !
Est-ce que Code::Blocks marche aussi pour un projet en C ? (et pas en C++)
Oui mais pour GTK+ tu est obligé de créer le templates de projet toi même: Liens utilesEnvoyé par leged
Oui, en utilisant gcc en version "cross-compiler".Envoyé par leged
Voir ici pour de la doc
Ouais, je reste d'avis que de compiler sur l'OS en question reste incontournableEnvoyé par plegat
![]()
Pareil.Envoyé par Franck.H
C'est pour ça que j'ai deux ou trois distributions Linux émulées sur mon windows!
C'était juste pour dire que c'était faisable...
pour cross-compiler je croi qu'effectivement, l'emulation est la mellieur solution, il y a pour cela le vmware player (gratuit) ICI. l'avantage c'est que sa permet egualement de tester ton application, et non pas seulement de la compiler.
Moi je suis clair, net et précis ... tant que tu peux éviter d'émuler et que tu peux passer d'un OS à un autre dans le cas où tu disposes justement de plusieurs systèmes, n'émule pas ! En générale les émulation de systèmes ce n'est pas toujours ca alors si en plus il s'agit de développement franchement je reste perplexe sur le bon fonctionnement (total et sans problèmes) d'un Linux sous Windows, déjà que l'inverse n'est pas toujour aisé !
personnelement je n'est jamais eu aucun probleme avec Vmware sous windows, ca 'a permis de decouvrir Linux.
Oui mais entre découvrir un système et l'utiliser pour rendre des applications portables c'est très différent tout de même, m'enfin je me méfie toujours de ce genre de pratiques !Envoyé par etranger
Avec VMWare, tu émules une machine, pas un système (enfin... en gros...). L'OS installé est le même que celui que tu installerais directement sur ton disque dur, rien ne change.Envoyé par Franck.H
A partir du moment où tu ne développes pas des applications système, où tu ne te sers pas justement d'un truc qui passe par l'émulateur, il n'y a pas de soucis. Il suffit d'installer les programmes de développement et les librairies qu'il te faut, comme pour une installation normale. Ca permet déjà de résoudre les grosses bourdes d'incompatibilité entre plusieurs OS.
Après, dès que tu touches à des interactions avec le matériel, là, je rejoints ton point de vue (j'ai le mien de VMWare qui s'obstine à gueuler que mon lecteur de disquette déconne, alors que je n'ai pas de lecteur de disquette!!!Et les clefs USB le font délirer un max...).
Enfin bon, quand on développe une application portable, si elle est sous licence libre, on trouve toujours une âme charitable pour faire la compilation sur les autres systèmes que l'on a pas. Comme ça au moins, c'est propre, et on sait directement si ça compile ou pas sans bidouiller de la cross-compil ou de l'émulateur!
Je maintiens le projet GWhere qui est écrit en C avec GTK+. Ce programme tourne sous GNU/Linux, Cygwin, MS Windows, FreeBSD et Mac OS X.Envoyé par leged
GCC est disponible sur de nombreuses plateformes. De plus, il est très largement utilisé.Envoyé par leged
Ce n'est pas évident de répondre... La difficulté est très relative et dépend aussi du programme.Envoyé par leged
Néanmoins, il faut réussir à trouver le portage de toutes les bibliothèques externes utilisées pour l'ensemble des plateformes supportées. Le portage devient plus ardu si le programme fait des appels système (ce qui est le cas de GWhere).
- Choisir des bibliothèques externes qui sont disponibles sur toutes les plateformes à supporter.Envoyé par leged
- Favoriser l'utilisation de la Glib.
- Tester l'application sur toutes les plateformes car il y a des différences de comportement mineures mais aux conséquences graves.
Bon courage...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager