IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Migration sur GTK 4


Sujet :

GTK+

  1. #1
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Décembre 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Décembre 2012
    Messages : 195
    Points : 84
    Points
    84
    Par défaut Migration sur GTK 4
    Bonjour à tous,

    Je développe depuis des années des codes C + GTK, et je développe ceci avec GTK 2. Oui, je sais, il faut que j’upgrade ceci et que je passe à une version plus récente, et c’est l’objet de ce post. Je dois me lancer là-dessus. J’espère que j’aurai le temps dans pas trop longtemps (pas sûr).

    Je développe tout ceci sous Windows, en utilisant CodeBlock (gcc), et je discute avec des librairies comme cairo et pango.

    Comme j’ai pas mal (facilement plusieurs milliers réparties dans pleins de projets) de lignes de code, je voudrais faire ceci progressivement.

    J’ai donc plusieurs questions avant de me lancer :

    Puis-je, dans un premier temps, faire cohabiter les deux versions dans le même environnement (CodeBlock sous windows) et basculer à loisir de l’un vers l’autre ? Juste pour compliquer, la version de GTK 2 que j’ai est en 32 bits (donc CodeBlock/gcc également). J’ai l’impression que je devrais avoir deux versions de CodeBlock séparées, l’une en 32 bits et l’autre en 64 bits. Est-ce la bonne solution ?

    Comment poser GTK 4, simplement et rapidement dans mon environnement ?

    Quelle quantité de travail ceci représente selon vous de modifier mes codes pour qu’ils puissent discuter correctement avec GTK 4 ?

    Quels sites web devrais-je consulter, à la fois pour la migration, et pour trouver les informations sur les fonctions utiliser, leurs arguments, tutoriels, etc. ?

    Je porte mes codes compilés sur d’autres machines PC (pour d’autres utilisateurs), sur lesquelles je fais installer un GTK runtime environnment. J’imagine que cette façon de travailler ne sera plus la même. La library GTK 4 utilise-t’elle encore des librairies dynamiques, et si oui comment devrais-je m’en sortir ?

    Dans ce même ordre d'idée, j'aimerais bien facilement porter mes codes sur MacOS, mais j'ai toujours été dans l'incapacité d'installer sur un Mac le minimum nécessaire pour compiler mes codes. Le passage à GTK 4 pourrait-il améliorer les choses (en proposant par exemple des outils pour se faire) ? Je peux toujours rêver (..).

    Je vois ceci comme beaucoup de complications et une bonne semaine de boulot. Qu’en pensez-vous ? Et puis-je utiliser ce forum en cas de problèmes pour trouver de l’aide ?

    Merci d’avance pour toute aide sur ces points.

    Eric.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Citation Envoyé par eric1708 Voir le message
    Bonjour à tous,


    Puis-je, dans un premier temps, faire cohabiter les deux versions dans le même environnement (CodeBlock sous windows) et basculer à loisir de l’un vers l’autre ? Juste pour compliquer, la version de GTK 2 que j’ai est en 32 bits (donc CodeBlock/gcc également). J’ai l’impression que je devrais avoir deux versions de CodeBlock séparées, l’une en 32 bits et l’autre en 64 bits. Est-ce la bonne solution ?
    Le plus simple il me semble est d’utiliser git. Tu crées un dépôt git avec ta version 32 bits puis tu crées une nouvelle branche que tu peux appeler …64 par exemple pour t’y retrouver. Tu bascules ensuite d’une branche à l’autre en fonction de tes avancées.

    Citation Envoyé par eric1708 Voir le message

    Comment poser GTK 4, simplement et rapidement dans mon environnement ?
    Tu trouveras dans ma signature un tuto pour configurer Code::blocks quelque soit la version de Gtk.

    Citation Envoyé par eric1708 Voir le message

    Quelle quantité de travail ceci représente selon vous de modifier mes codes pour qu’ils puissent discuter correctement avec GTK 4 ?
    Une éternité 😂. Je suis en train de me plonger dans Gtk4 et je peux te dire que la différence avec Gtk3 est déjà importante. Alors avec Gtk2…

    Citation Envoyé par eric1708 Voir le message

    Quels sites web devrais-je consulter, à la fois pour la migration, et pour trouver les informations sur les fonctions utiliser, leurs arguments, tutoriels, etc. ?
    Le plus simple est de commencer par le site officiel Gtk. Histoire que tu vois de quoi je parle quand je dis une éternité voilà le texte de la documentation officielle pour passer de Gtk2 à Gtk4 :
    If your application is still using GTK 2, you should first convert it to GTK 3, by following the migration guide in the GTK 3 documentation, and then follow these instructions.
    Citation Envoyé par eric1708 Voir le message

    Je porte mes codes compilés sur d’autres machines PC (pour d’autres utilisateurs), sur lesquelles je fais installer un GTK runtime environnment. J’imagine que cette façon de travailler ne sera plus la même. La library GTK 4 utilise-t’elle encore des librairies dynamiques, et si oui comment devrais-je m’en sortir ?
    Le principe est toujours le même. Tu utilises donc la même méthode que tu utilises actuellement.

    Citation Envoyé par eric1708 Voir le message

    Dans ce même ordre d'idée, j'aimerais bien facilement porter mes codes sur MacOS, mais j'ai toujours été dans l'incapacité d'installer sur un Mac le minimum nécessaire pour compiler mes codes. Le passage à GTK 4 pourrait-il améliorer les choses (en proposant par exemple des outils pour se faire) ? Je peux toujours rêver (..).
    Même réponse que plus haut. Regarde mon tuto. Bon je n’explique pas explicitement l’installation sur Mac mais la documentation officielle oui.

    Citation Envoyé par eric1708 Voir le message

    Je vois ceci comme beaucoup de complications et une bonne semaine de boulot. Qu’en pensez-vous ? Et puis-je utiliser ce forum en cas de problèmes pour trouver de l’aide ?
    Tu t’es trompé. Ce n’est pas une bonne semaine mais un bon siècle 😂. Plus sérieusement je dirais quelques mois. Et oui si tu as des problèmes n’hésite pas. Si on peut t’aider se sera avec plaisir.

  3. #3
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Décembre 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Décembre 2012
    Messages : 195
    Points : 84
    Points
    84
    Par défaut
    Merci beaucoup pour cette réponse très utile.

    Citation Envoyé par gerald3d Voir le message
    Le plus simple il me semble est d’utiliser git. Tu crées un dépôt git avec ta version 32 bits puis tu crées une nouvelle branche que tu peux appeler …64 par exemple pour t’y retrouver. Tu bascules ensuite d’une branche à l’autre en fonction de tes avancées.
    Pour moi git est une gestionnaire de versions de codes sources. Ceci ne m'affranchira pas de faire cohabiter sur ma machine, en local, les deux environnements de développement, et je pense que ça devrait être possible.
    Citation Envoyé par gerald3d Voir le message
    Tu trouveras dans ma signature un tuto pour configurer Code::blocks quelque soit la version de Gtk.
    Ok, je vais regarder ça.
    Citation Envoyé par gerald3d Voir le message
    Une éternité 😂. Je suis en train de me plonger dans Gtk4 et je peux te dire que la différence avec Gtk3 est déjà importante. Alors avec Gtk2…
    Ok, information utile. Ca veut donc dire que - si je me lance dans cette histoire (et après avoir faire cohabiter deux environnements de développement - ce qui peux déjà représenter des complications) - je dois viser dans un premier temps Gtk3. Okay.
    Citation Envoyé par gerald3d Voir le message
    Tu t’es trompé. Ce n’est pas une bonne semaine mais un bon siècle 😂. Plus sérieusement je dirais quelques mois. Et oui si tu as des problèmes n’hésite pas. Si on peut t’aider se sera avec plaisir.
    Merci mais tout ceci n'est vraiment très encourageant.. Quel est le risque après tout de rester en Gtk2 tant que mes machines acceptent des outils de développement en 32 bits? Ok, je suis en retard sur les versions, et ce n'est pas une bonne idée, mais bon.

    Je vais regarder en détail le passage à Gtk3. Une idée pourrait être, si j'arrive à faire cohabiter les deux environnements sur ma machine, de commencer à développer mes nouveaux codes en Gth3, ce qui me permettra de me familiariser avec, puis progressivement reprendre mes anciens codes pour les upgrader vers Gth3. Bref, je suis parti pour pas mal de galères, j'ai l'impression.

    En tout cas, merci encore pour ton temps et ta disponibilité !

    Eric.

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Toutes mes excuses.

    Effectivement tu peux sans problème faire cohabiter les trois versions de Gtk.

  5. #5
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Décembre 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Décembre 2012
    Messages : 195
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Toutes mes excuses.

    Effectivement tu peux sans problème faire cohabiter les trois versions de Gtk.
    Oui, et je pense que je devrais m'en sortir pour ça. Mais il faut que je fasse également cohabiter deux versions de code:blocks, ou en tout cas deux versions du compilateur (32 ou 64 bits), ce qui devrait également être faisable, mais les choses deviennent de plus en plus compliquées.

    Je regarde ceci, j'espère prochainement.

    Encore merci, Eric.

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Deux versions de Code::Block je ne pense pas. C’est au niveau du compilateur que tout se joue.

    gcc compile par défaut en 64 bits. Donc si tu compile en 32 bits il n’y a que l’option -m32 à ajouter.

    Au final je compilerai par défaut en 64 pendant la programmation. Lorsqu’une version est publiable il te suffit de créer les deux versions en ajoutant l’option.

  7. #7
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    Décembre 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Décembre 2012
    Messages : 195
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Deux versions de Code::Block je ne pense pas. C’est au niveau du compilateur que tout se joue.
    Oui, oui c'est que j'ai voulu dire.
    Citation Envoyé par gerald3d Voir le message
    gcc compile par défaut en 64 bits. Donc si tu compile en 32 bits il n’y a que l’option -m32 à ajouter.
    Oui effectivement, une complication en moins. Merci.
    Citation Envoyé par gerald3d Voir le message
    Au final je compilerai par défaut en 64 pendant la programmation. Lorsqu’une version est publiable il te suffit de créer les deux versions en ajoutant l’option.
    Non, pas possible tant que je suis "coincé" avec la version 32 bits de Gtk2 que j'ai actuellement.

    Ainsi donc, il faut juste que:
    - je fasse cohabiter les deux versions de Gtk sur ma machine.
    - Que j'indique à code::blocks quelle version utiliser et rajouter ou non l'option -m32 à la compilation.

    Reste donc à voir comment faire cohabiter les deux version de Gtk.

    On avance !

    Encore merci, Eric.

Discussions similaires

  1. raffraichissement de courbes sur gtk+
    Par Nico820 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 23/04/2007, 19h07
  2. besoin d'infos sur GTK et SDL
    Par igor76 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 19/08/2006, 20h04
  3. Questions sur GTK+
    Par tintin72 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 07/08/2006, 19h22

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