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+ avec C & C++ Discussion :

Installer un environnement de dev pour GTK sur Windows


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1
    Par défaut Installer un environnement de dev pour GTK sur Windows
    Bonjour,

    Voila 3 bonnes soirées que je passe à chercher la meilleure façon (propre) d'installer un environnement pour un projet (light) avec GTK...
    et whoua, entre les difficultés à trouver les dernières libs à jour (pre-compilées) et les packages de tous style (MSYS2, MYS, PyGI, PyGTK, etc...) pas toujours aux dernières versions, je me retrouve avec une 10en de "packs" dont je ne sais plus vraiment lequel je vais "essayer" sans être sur d'avoir fais le bon choix

    Bref j'en perd mon latin, raison de ce besoin de clarification que je me décide a faire auprès de vous.

    Je développe principalement des applies consoles (C, C++, VB, Python etc...) que ce soit sur Linux et/ou Windows et de temps à autre de simples GUI via Visual Studio 2010.

    La, je dois faire une GUI pour Windows et pour Linux desktop, d'ou le GTK (il y a plus simple ? ), c'est un "tools" et pas une application "lourde".
    Je ne sais pas encore vraiment quel langage je vais utiliser pour ça, déjà je voudrai déja les tester avec GTK...

    Ma question va être simple: ou récupérer le Pack de développement Windows (libs, frameworks) pour GTK (3, visiblement le 2 est out maintenant)

    Pour info ( si nécessaire), j'utilise principalement Code::Block, VisualStudio 2010, Eclipse (+ rare) comme IDE, et Notepad++ pour Python 2.7.x

    Subsidiaire: A par Glade, existe t'il d'autre RAD pour GTK ? (suivant vos expériences)

    Allez, une de plus !: en dehors de GTK, pour des GUI (app tres light) (Multi-plateformes) vous conseilleriez autre chose ?

    Merci beaucoup par avance de m'aider a dégrossir la chose, car depuis mes recherches, pas mal de choses se mélangent

    Alain

    (add à la loi de murphy: Tu passeras plus de temps a installer ton environnement de Dev qu'a coder)

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    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 395
    Par défaut
    Bonjour,

    ça fait beaucoup de questions tout ça

    Pour la méthode d'installation, elle est indiquée sur le site officiel : c'est via MSYS2.
    https://www.gtk.org/download/windows.php

    Seul bémol : les bibliothèques fournies sont compilées avec gcc, et pas compatibles avec les symboles de debug générés par visual studio. Du coup l'expérience développeur est clairement pas optimale, mais ça marche.

    Ensuite, je ne comprends pas ce que tu veux dire par:

    c'est un "tools" et pas une application "lourde".
    Ensuite, pour répondre à tes autres questions:
    A par Glade, existe t'il d'autre RAD pour GTK ? (suivant vos expériences)
    Il y avait Gazpacho il y a quelques années, un projet écrit en python, mais il n'est plus maintenu. Je te conseille Glade (et le tutoriel d'installation GTK+ t'indique comment l'installer aussi).

    en dehors de GTK, pour des GUI (app tres light) (Multi-plateformes) vous conseilleriez autre chose ?
    Qt a globalement un meilleur support multi-plateforme. Après côté légèreté, je ne sais pas trop...

    Pour les langages, tu as des bindings de GTK vers plein de langages différents. Python (avec pyGObject) et C++ (avec GTKmm) sont les mieux gérés. Tu peux aussi directement en C aussi, et tu as plein d'autres langages disponibles (Rust, Perl, Ada, etc.).
    Tutoriel officiel pour GTK+ 3 en python: https://python-gtk-3-tutorial.readth...est/index.html

    Surtout n'utilise pas PyGTK (c'est pour GTK 2, vieux de 6 ans). PyGi c'est un ancien nom pour parler des versions de PyGObject qui ont des capacités d'introspection. C'est dans PyGObject depuis plusieurs années. Pour faire du GTK+3, c'est donc PyGObject qu'il te faut.
    Plus d'infos dans ma réponse ici: https://stackoverflow.com/a/9672426/518853

  3. #3
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut MSYS2 est une solution.
    Salut le GThacKtivist Windows,

    Personnellement j'ai mis des années a trouver le moyen de porter mes applications GTK vers Windows !

    Et la solution que j'ai trouver s'appelle MSYS2.

    Après l'installation de l'exécutable MSYS2.

    Tu a un package manager a disposition: pacman

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ pacman -Ss toolchain | grep x86_64 | grep gcc # Chercher le compilateur natif.
    $ pacman -S gcc # Installation de gcc GNU CC
    Sinon tu a plein de packages pré-compiler a disposition: glade3, Python 2.7.x, etc...

    Malgré que le GtkFileChooserNative (avec l'action *_SAVE) bug hors de l'environnement MSYS2.

    A part cela (qui est génant quand même) Ca va.

    P.S: Un peu de prérequis de GNU sont nécessaire étant donnée que tu n'a qu'un terminal avec bash pour te débrouiller (Personnellement j'utilise un Makefile).

    Sinon tu peu essayer cygwin la tu aura une interface graphique...

    ---

    Sinon côté G.U.I light tu a FLTK.

    ----

    A moi de poser une question: est-ce-que Qt est mieux que GTK+-3.0 coté portabilité et maintenance ou est ce le même calvaire qu'avec GTK+-3.0.

  4. #4
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    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 395
    Par défaut
    Comme je l'ai indiqué, MSYS2 est la solution officiellement conseillée par l'équipe GTK+.
    J'ai moi même rédigé la page https://www.gtk.org/download/windows.php pour la simplifier et donner plus de détails spécifique sur les paquets à installer avec pacman, et ce, suite aux nombreuses questions sur différents forums (en gros, ici et sur stackoverflow.com).
    Je déconseille d'utiliser cygwin, tu ne fais plus du natif dès que tu touches à cygwin car tu ajoutes une dépendance à la bibliothèque cygwin, que tu dois alors distribuer avec ton application. Avec MSYS2 tu fais du pur natif Windows.

    Malgré que le GtkFileChooserNative (avec l'action *_SAVE) bug hors de l'environnement MSYS2.
    Je ne suis pas au courant... Tu as regardé si un bug était ouvert à ce sujet sur le bugzilla GTK+ ?

    est-ce-que Qt est mieux que GTK+-3.0 coté portabilité et maintenance ou est ce le même calvaire qu'avec GTK+-3.0.
    Qt est meilleur côté portabilité, parce que Qt est beaucoup plus maintenu, a plus de backends. Ce n'est juste pas la même taille de projets.
    Pour ce qui est de FLTK, si tu trouves GTK+ difficilement maintenu, l'historique de FLTK semble largement pire (cf wikipédia).

    Pour GTK+ 3, côté maintenance, il y a eu des soucis de compatibilté surtout avec la stabilisation du moteur de thèmes CSS, dont l'API a longtemps été instable, avec des comportements changeant de version en version. Cela fait toutefois plus d'un an (de mémoire) que l'API est stable.
    Tu as eu quels soucis de maintenance en particulier ?

    Et bien sûr, il y a GTK+ 4 qui est en préparation

  5. #5
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    Bonjours merci pour la réponse,

    J'aimerai savoir comment je signale mon BUG a bugzilla ca fait une demie heure que je me bat avec l'interface sans pouvoir écrire une ligne.

    A tu une idée comment ont fait pour faire un BUG-REPORT sur bugzilla, sachant qu'il n'y a personne sur cette mailing list: gtk-app-devel-list@gnome.org.

    ---

    Je commence sérieusement a dire de me mettre a Qt,

    5 années de savoir GTK gâcher par des main-teneurs incompétent, je explique.

    Ils ont décidé à Manchester de casser l'API a toutes les futures changements de version mineures, si c'est pas de l'hérésie en terme de maintenance.

    ---

    Puis il nous mentent dans la doc,

    enfin pour moi car a part GTK_FILE_CHOOSER_ACTION_OPEN aucune autre action

    ne marche sur du Windows Native et ils ont le toupet de mettre

    GTK_FILE_CHOOSER_ACTION_SAVE dans la doc
    ces incompétents.

    ---

    Peut tu me dire si l'action GTK_FILE_CHOOSER_ACTION_SAVE fonctionne en NATIVE chez toi ?

    Je veut dire construire ton programme avec MSYS2

    puis

    de copier toutes les libraries requises ainsi que le binaire dans un dossier autre que dans l'environnement MSYS2.

  6. #6
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    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 395
    Par défaut
    Cher Luke Spywalker,

    je pense que tu vas devoir apprendre quelques bricoles sur comment fonctionne le monde du logiciel libre...

    Tu me dis qu'il n'y a personne sur la mailing list (que je fréquente moi même à l'occasion), et là je tombe sur un message délicatement appelé incompetent heretic GTK+ maintainers !.
    Comment dire... aller dire à des gens qui bossent gratos pour toi, certains extrêmement commpétents (en gros, ce sont des grosses brutes du développement logiciel, certains salariés chez les plus grosses boites comme RedHat, Intel, etc), que ce sont des branques qui n'ont rien compris... Sachant que sur ton profil tu mets que tu es "étudiant informatique autodidacte", je t'invite à un peu plus d'humilté. Ne t'étonne pas de ne pas avoir de réponse, personne ne répondra à un message hargneux, et peu iront plus loin que le titre. Si je vais chez toi, que je t'insulte, puis que je te demande un service, tu réagis comment toi ?

    Citation Envoyé par Luke spywoker Voir le message
    Ils ont décidé à Manchester de casser l'API a toutes les futures changements de version mineures, si c'est pas de l'hérésie en terme de maintenance.
    As tu lu https://blog.gtk.org/2016/09/01/vers...romise-in-gtk/ ?
    On y lit:
    While the GTK+ team reserves the right to change API during development series, this does not mean that the whole GTK+ API will constantly break each release; only specific, and hopefully rarely used parts of the API may change, and if the changes are too extensive they will very likely be delayed to the next major development cycle. We’ll ensure that these changes are well-communicated in advance.
    Ça ne ressemble pas trop à ce que tu dis. En gros le plan, c'est d'éviter les soucis qu'il y a eu sur GTK+ 3 où le comportement du moteur de thème a changé au cours des version, au fil de l'avancement de l'implémentation. L'auteur souhaitait une réelle compatibilité CSS, au prix de changements qui faisaient que c'était difficile pour un développeur d'application de savoir à quoi allait ressembler son application car il ne savait pas forcément avec quelle version de GTK+ les distributions la livreraient. La solution trouvée par l'équipe GTK+ n'a rien d'hérétique. Ils vont faire plus de version majeures où ils se permettront de casser la compatibilité et enlever tout ce qui est obsolète, et maintenir en parallèle la version stable, qui sera encore plus stable: seul ce qui est jugé vraiment important y sera ajouté. Le reste des développements se fera sur la version de développement (le futur GTK+ 4 ici). Ils feront des itérations successives de ce qui donnera GTK+ 4 (3.90, 3.92, 3.94, etc.) avant de la figer en GTK 4.0 qui deviendra la nouvelle version stable.

    Donc pour les développeurs d'application qui se foutent d'avoir la toute dernière version de GTK, mais qui veulent un comportement prédictible, ils choisiront la version stable (GTK+3 actuellement), qui n'aura plus de changement brutal. Pour ceux qui veulent coller aux dernières nouveautés, ils pourront suivre les versions de développement des GTK+ 4 (3.90, 3.92, etc.), mais où les développeurs GTK ne garantissent pas de ne pas casser l'API (ce qui me parait raisonnable, vu que c'est une version de développement). Cela leur demande moins de travail, compensé par le fait qu'il faut plus de travail pour maintenir plusieurs versions en parallèle (GTK+ 3.x). Sachant que les ressources (nombre de mainteneurs et développeurs) sont faibles, ils ne peuvent pas proposer plus de choses sans sacrifier autre chose, d'où le fait qu'ils ne garantissent pas la stabilité de l'API sur les versions préparatoires à GTK+ 4 (3.90, 3.92, etc.).

    C'est donc plutôt une bonne nouvelle pour les développeurs tiers qui n'auront pas à s'arracher les cheveux à essayer de prédire un comportement selon la version mineure de GTK comme cela a été le cas avec ces soucis de CSS sur GTK+ 3. Et pour les développeurs GNOME, on attend d'eux qu'ils suivent le développement de GTK+ d'un peu plus prêt et suivent les versions préparatoires. Avec une version majeure tous les 2-3 ans, cela permet de simplifier le casse-tête de la maintenance de GTK+, parce que garder la rétro compatibilité sur plusieurs années, ça a un coût en ressources humaines.

    Citation Envoyé par Luke spywoker Voir le message
    Puis il nous mentent dans la doc
    Ce à quoi je te réponds:
    Assume people mean well:

    Remember that decisions are often a difficult choice between competing priorities. If you disagree, please do so politely.
    If something seems outrageous, check that you did not misinterpret it. Ask for clarification, but do not assume the worst.
    Source: https://wiki.gnome.org/Foundation/CodeOfConduct

    En gros, cela peut être un bug, une mauvaise compréhension du fonctionnement, mais ne pars pas du principe qu'on te ment volontairement, sinon tu auras du mal à collaborer avec les gens.

    Si tu m'envoies un bout de code exemple qui met en évidence le bug chez toi, je peux essayer de reproduire le bug, j'ai une install MSYS2 mise à jour hier soir.

Discussions similaires

  1. Installation de Glade, PyGtk et GTK + sur windows *64 et Python 3.5
    Par robinou00 dans le forum Déploiement/Installation
    Réponses: 2
    Dernier message: 19/07/2018, 09h08
  2. Installer GTK+ sur windows
    Par Soporythmique dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 07/06/2012, 10h41
  3. [Zend Core/Platform/Studio] Environnement de dev pour le ZF
    Par Jonathan.b dans le forum Zend Studio
    Réponses: 1
    Dernier message: 27/10/2009, 16h05
  4. Réponses: 4
    Dernier message: 19/05/2009, 15h48

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