Po zainstalowaniu Ubuntu 11.10 pojawia się dziwny błąd. Chcę używać GD z moim programem C, więc zainstalowałem pakiet "libgd2-xpm-dev". Wszystko zostało zainstalowane - pliki gd.h i libgd.a znajdują się w "/ usr/include" oraz w "/ usr/lib". Tak, próbowałem skompilować prosty program z GD.Niezdefiniowane odniesienie do bardzo prostego programu
#include <stdio.h>
#include <gd.h>
int main()
{
gdImagePtr im, im_clear;
int black, white;
FILE *out1;
im = gdImageCreate(100, 100);
im_clear = gdImageCreate(100, 100);
white = gdImageColorAllocate(im, 255, 255, 255);
black = gdImageColorAllocate(im, 0, 0, 0);
return 0;
}
$ gcc -lgd gd.c
/tmp/cc6LReuX.o: In function `main':
gd2.c:(.text+0x19): undefined reference to `gdImageCreate'
gd2.c:(.text+0x31): undefined reference to `gdImageCreate'
gd2.c:(.text+0x59): undefined reference to `gdImageColorAllocate'
gd2.c:(.text+0x81): undefined reference to `gdImageColorAllocate'
Czekaj, co? Okay, sprawdźmy coś.
# Let's sure the lib was found.
$ gcc -lgd_something gd.c
/usr/bin/ld: cannot find -lgd_something
# Lets sure we made no mistake with the symbol's name
$ nm /usr/lib/libgd.a
...
00000dc0 T gdImageColorAllocate
...
000003b0 T gdImageCreate
# So, everything should be ok
$ gcc -lgd gd.c
/tmp/cc6LReuX.o: In function `main':
gd2.c:(.text+0x19): undefined reference to `gdImageCreate'
gd2.c:(.text+0x31): undefined reference to `gdImageCreate'
gd2.c:(.text+0x59): undefined reference to `gdImageColorAllocate'
gd2.c:(.text+0x81): undefined reference to `gdImageColorAllocate'
$ echo $LD_LIBRARY_PATH
# Nothing
I nie wiem, co powinienem zrobić. Czy jest to błąd w gcc, czy robię coś nie tak. W moim poprzednim systemie operacyjnym (Ubuntu 10.04) wszystko działa dobrze. Który plik powinienem dla ciebie pokazać?
możliwe duplikat [Linker mi mówi, że nie może rozwiązać symbole, ale są tam?] (Http://stackoverflow.com/questions/8382153/linker-tells-me-it-cant- resolve-symbols-but-theyre-there) –