bonjour,
j'ai un petit soucis avec etags.
Jusqu'à présent je disposais des sources (.h et surtout .c) des bibliothèques que j'utilisais mais là je ne dispose que des fichiers en-têtes (.h).
J'aimerais construire un fichier tags contenant le nom des fonctions uniquement à partir des .h (avec les .c pas de problèmes) et ces traîtres de google et de man n'ont pas voulu me répondre.
Voilà, je te remercie cher forum si tu pouvais me fournir les options à passer à etags pour que ça marche (tm).
# Et ?
Posté par Obsidian . Évalué à 1.
Après, à l'édition, il te faudra soit les *.o|*.a pour faire une compilation statique, soit avoir les bibliothèques partagées installées où il faut, et dans ce cas il faut passer l'option -llenomdelalibsanslepréfixeLIB à gcc. Eventuellement -L (en majuscule), si tes biblothèques ne sont pas installées dans des répertoires standard (style /usr/lib).
[^] # Re: Et ?
Posté par benon . Évalué à 1.
[^] # Re: Et ?
Posté par metcox . Évalué à 1.
J'utilise le fichier TAGS généré par etags pour la complétion dans emacs (j'aurais du le préciser, désolé). Avec les fichiers .c pas de problèmes, le fichier TAGS contient le nom des fonctions que fourni la bibliothèque. Mais avec uniquement les .h, allez savoir pourquoi le nom des fonctions n'apparait pas dans TAGS, là est le problème.
PS: la bibliothèque en question c'est GTK/GDK/glib dont les sources sont facilement accessibles mais cela ne sera pas forcement le cas avec d'autres bibliothèques, voilà pourquoi je pose la question, sinon je téléchargerais les sources et puis voilà.
[^] # Re: Et ?
Posté par metcox . Évalué à 1.
# j'y suis presque
Posté par metcox . Évalué à 1.
Quand etags tombe sur une fonction comme celle là
GType gtk_window_get_type (void) G_GNUC_CONST;
il l'a prend en compte mais pas les suivantes.
Ce prototype me semble bizarre, est-ce qu'il est correct? Je comprends pas l'utilité de G_GNUC_CONST et surtout ce qu'il fait après les arguments de la fonction.
j'y comprends rien, et pourquoi etags il en veut pas?
[^] # Re: j'y suis presque
Posté par benon . Évalué à 2.
je connaissais pas ca non plus...
il me semble qu'etags fonctionne avec des regex.
faudrait que tu changes les regex pour qu'il detecte ces type de fonctions.
man etags
(j'ai pas linux au taf pour aire des essaies :(
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.