Hi, On Sat, Apr 02, 2005 at 12:48:31AM +0400, Anton D. Kachalov wrote: > Наткнулся на такую неприятность с pkgconfig + gtk+-2.0. > $ pkg-config --libs "gtk+-2.0" > -lgtk-x11-2.0 > > $ gcc -shared -o foobar.so -Wl,-z,defs foobar.c -lgtk-x11-2.0 > /tmp/ccML0lkr.o(.text+0x7): In function `foobar': > : undefined reference to `gdk_x11_display_get_xdisplay' > collect2: ld returned 1 exit status > > файл foobar.c: > <кусь> > extern void gdk_x11_display_get_xdisplay(); > > void foobar() > { > gdk_x11_display_get_xdisplay(); > } > > > если линковаться так: > $ gcc -shared -o foobar.so foobar.c -lgtk-x11-2.0 > или так: > $ gcc -shared -o foobar.so -Wl,-z,defs foobar.c -lgtk-x11-2.0 -lgdk-x11-2.0 > то всё пучком. > > Вопрос в следующем, кто неправ? Обобщённое правило: Если ldd -r /usr/lib/libgtk-x11-2.0.so найдёт что-нибудь undefined, значит, надо фиксить эту библиотеку. Если не найдёт, значит, фиксить надо твой makefile. -- ldv