"Undefined reference" avec Ubuntu 12.04
Bonjour,
mon problème est le suivant:
J'utilise la librairie libftdi-dev.
Tant que j'étais sous Ubuntu 10.04 j'utilisais la commande suivante qui compilait sans souci
Code:
gcc -lftdi attenuateur.c -o attenuateur
Depuis que je suis passé à Ubuntu 12.04, la commande me renvoit
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $gcc -lftdi attenuateur.c -o attenuateur
/tmp/ccy1TJFN.o: In function `Write':
attenuateur.c:(.text+0x28): undefined reference to `ftdi_write_data'
attenuateur.c:(.text+0x3d): undefined reference to `ftdi_get_error_string'
/tmp/ccy1TJFN.o: In function `Open':
attenuateur.c:(.text+0x8e): undefined reference to `ftdi_init'
attenuateur.c:(.text+0xe0): undefined reference to `ftdi_usb_open'
attenuateur.c:(.text+0xf5): undefined reference to `ftdi_get_error_string'
attenuateur.c:(.text+0x13a): undefined reference to `ftdi_set_bitmode'
attenuateur.c:(.text+0x14a): undefined reference to `ftdi_get_error_string'
/tmp/ccy1TJFN.o: In function `Close':
attenuateur.c:(.text+0x195): undefined reference to `ftdi_usb_close'
attenuateur.c:(.text+0x1aa): undefined reference to `ftdi_get_error_string'
attenuateur.c:(.text+0x1df): undefined reference to `ftdi_deinit'
collect2: ld a retourné 1 code d'état d'exécution |
Bien entendu, j'avais auparavant installé libftdi avec
Code:
1 2 3 4 5 6
| $ sudo apt-get install libftdi-dev
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
libftdi-dev est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour. |
La librairie est bien présente:
Code:
1 2 3 4
| $ locate libftdi.so
/usr/lib/i386-linux-gnu/libftdi.so
/usr/lib/i386-linux-gnu/libftdi.so.1
/usr/lib/i386-linux-gnu/libftdi.so.1.19.0 |
Mais j'ai beau indiqué l'emplacement de la librairie, rien y change
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $ gcc -lftdi -L/usr/lib/i386-linux-gnu attenuateur.c -o attenuateur
/tmp/cckuR40X.o: In function `Write':
attenuateur.c:(.text+0x28): undefined reference to `ftdi_write_data'
attenuateur.c:(.text+0x3d): undefined reference to `ftdi_get_error_string'
/tmp/cckuR40X.o: In function `Open':
attenuateur.c:(.text+0x8e): undefined reference to `ftdi_init'
attenuateur.c:(.text+0xe0): undefined reference to `ftdi_usb_open'
attenuateur.c:(.text+0xf5): undefined reference to `ftdi_get_error_string'
attenuateur.c:(.text+0x13a): undefined reference to `ftdi_set_bitmode'
attenuateur.c:(.text+0x14a): undefined reference to `ftdi_get_error_string'
/tmp/cckuR40X.o: In function `Close':
attenuateur.c:(.text+0x195): undefined reference to `ftdi_usb_close'
attenuateur.c:(.text+0x1aa): undefined reference to `ftdi_get_error_string'
attenuateur.c:(.text+0x1df): undefined reference to `ftdi_deinit'
collect2: ld a retourné 1 code d'état d'exécution |
Qu'est ce qui a changé avec la 12.04?
Merci pour votre aide.