Bonjour,
une question aux spécialistes, existe t'il un moyen de tester son code afin de savoir
quelle est la version minimale de GTK+ requise pour pouvoir le compiler et le faire
tourner ?
Merci d'avance.
Version imprimable
Bonjour,
une question aux spécialistes, existe t'il un moyen de tester son code afin de savoir
quelle est la version minimale de GTK+ requise pour pouvoir le compiler et le faire
tourner ?
Merci d'avance.
Compile avec la version de GTK+ la plus ancienne que tu es censé gérer dans ton programme. Le compilateur t'indiquera directement si tu utilises une fonction trop récente inconnue de la version GTK+ utilisée.
En général, on fait plutôt attention au fur et à mesure... On définit dans les scripts de configuration du projet la version minimale de GTK+ gérée, et on fait attention à ne pas utiliser de symboles apparus dans des version ultérieurs. Pour savoir quand est apparu un symbole, il faut regarder la mentions "Since:" qui apparait dans la documentation du symbole. Par exemple ici, on voit que GtkCalendarDetailFunc est disponible depuis GTK 2.14.
Merci pour ton éclairage, je connaissais le 'Since ...' j'avoue avoir eu un petit peu la flemme
d'aller regarder cela comme ça, et j'ai cherché une façon plus automatisée de faire les choses.
@+
Sinon, tout à la toute fin de la doc GTK+, tu as une zone avec les symboles ajoutés dans chaque version, par exemple la liste des nouveaux symboles de GTK+ 2.22.
Si tu veux savoir avec quelle version de GTK tu es compatible, il te suffit de prendre les nouveaux symboles de chaque version de la plus récente à la plus ancienne, et regarder si tu les utilises. Cela se scripte facilement, je l'ai fait pour la recherche de fonctions dépréciées dans GNOME (c'était plus rapide que de compiler le code).
En gros, sous Linux, tu crées un fichier contenant la liste des symboles à rechercher. Un copier-coller à partir de la page de doc listant les nouveaux symboles va assez vite, il suffit ensuite d'enlever les informations inutiles. Je rajoutais aussi pour les fonctions une petite expression régulière permettant d'éviter qu'en cherchant GetFoo je tombe sur des occurrences de GetFooBar.
Une fois que tu as le fichier symbols.txt contenant les symboles à rechercher, un coup dete sort toutes les occurrences. Si tu cherchais les symboles nouveaux dans GTK 2.20, et que tu en trouves ainsi dans ton code, tu peux en déduire que ton code ne marchera qu'avec GTK >= 2.20.Code:egrep -n -R -f symbols.txt chemin/vers/ton/code