Forum Programmation.c Makefile et petit soucis de liens

Posté par  (site web personnel) .
Étiquettes : aucune
0
12
juin
2007
Bonjour à tous
n'étant pas dev de nature, je suis un peu pommé quand à la compilation de mon code.
Ce dernier se découpe en plusieurs fichiers que je compile dans un makefile.
Le code utilise glib et lipq, et le problème se situe au niveau de ces librairies.
Quand arrive la dernière étape de compilation

gcc -Wall -pthread -static -lipq `pkg-config --cflags --libs glib-2.0` -o argusproxy-redirector main.o netcode.o intercom.o tables.o

je me prend cette liste d'erreurs dans la figure :

main.o: In function `die':
main.c:(.text+0xe): undefined reference to `ipq_perror'
main.c:(.text+0x19): undefined reference to `ipq_destroy_handle'
main.o: In function `config_parse':
main.c:(.text+0x9b): undefined reference to `g_str_equal'
main.c:(.text+0xa2): undefined reference to `g_str_hash'
main.c:(.text+0xa7): undefined reference to `g_hash_table'
main.c:(.text+0x1c6): undefined reference to `g_hash_table_destroy'
main.c:(.text+0x22f): undefined reference to `g_hash_table_destroy'
main.c:(.text+0x326): undefined reference to `g_hash_table_destroy'
main.c:(.text+0x3cd): undefined reference to `g_hash_table_insert'
main.c:(.text+0x40e): undefined reference to `g_hash_table_destroy'
main.o: In function `daemonize':
main.c:(.text+0x559): undefined reference to `g_hash_table_lookup'
main.o: In function `main':
main.c:(.text+0x713): undefined reference to `ipq_create_handle'
main.c:(.text+0x742): undefined reference to `ipq_set_mode'
main.c:(.text+0x799): undefined reference to `ipq_read'
main.c:(.text+0x7bb): undefined reference to `ipq_message_type'
main.c:(.text+0x7e3): undefined reference to `ipq_get_msgerr'
main.c:(.text+0x816): undefined reference to `ipq_get_packet'
collect2: ld returned 1 exit status


autrement dit, toutes les fonctions liés à glib et lipq se font jeter....
de quoi cela peut-il venir ?
  • # ordre

    Posté par  . Évalué à 4.

    Si je ne dis pas de bétise, l'éditeur de lien fait une seule passe et jette toutes les libs dont il n'a rencontré aucun symbole.
    dans ton édition de lien, essaie de mettre tes .o en premier, et les libs ensuite et tiens nous au courant !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.