неопределенная ссылка на `glib_major_version'

неопределенная ссылка на `glib_major_version'

Подскажите, пожалуйста, как устранить ошибку «неопределенная ссылка» при компоновке в Ubuntu 10.10?

conftest.c:(.text+0x4): неопределенная ссылка на `glib_major_version'

conftest.c:(.text+0xd): неопределенная ссылка на `glib_minor_version'

conftest.c:(.text+0x16): неопределенная ссылка на `glib_micro_version'

collect2: ld вернул 1 статус выхода

Я добавил «export LD_LIBRARY_PATH=/usr/lib:/lib:$LD_LIBRARY_PATH» в свой .bashrc.

$ ls -la libgl*.*

lrwxrwxrwx 1 корень корень 23 2010-12-17 18:29 libglib-2.0.so.0 -> libglib-2.0.so.0.2600.0

-rw-r--r-- 1 корень корень 842208 2010-09-27 16:16 libglib-2.0.so.0.2600.0

/lib $ пароль

/lib

Но это не решает проблему. Что мне делать?

решение1

Какую команду вы запускаете для компиляции?

Есть ли другие ошибки, приводящие к этой ошибке?


У меня такая же версия файла, как у вас, и в ней есть эти символы.

$ ls -l libglib*
lrwxrwxrwx 1 root root     23 2010-12-05 06:03 libglib-2.0.so.0 -> libglib-2.0.so.0.2600.0
-rw-r--r-- 1 root root 842208 2010-09-28 09:16 libglib-2.0.so.0.2600.0
$ nm -D libglib-2.0.so.0.2600.0 | grep version
00073730 T glib_check_version
000c849c R glib_major_version
000c84a4 R glib_micro_version
000c84a0 R glib_minor_version

Вы компилируете свою собственную программу? Возможно, вам просто нужно указать компоновщику, что нужно выполнить компоновку, glibдобавив -lglib-2.0опцию.

Если вы бегаете
gcc -o conftest conftest.c, вам следует сделать
gcc -o conftest -lglib-2.0 conftest.cвместо этого.

Или вы можете добавить -lglib-2.0в LDFLAGS.


Вы компилируете чужую программу? Она может использовать pkgconfig. В ней может быть что-то, /usr/localчто сбивает с толку.

Вы сами устанавливали какие-то другие программы или библиотеки? Возможно, что-то, что само себя установило в /usr/local/lib?

Что cat /usr/lib/pkgconfig/glib*говорит?
Что cat /usr/local/lib/pkgconfig/glib*говорит?

Возможно, вам придется изменить значение , LD_LIBRARY_PATHвключив его /usr/local/lib, или изменить PKG_CONFIG_PATHили добавить некоторые параметры в ./configure.

Ответ зависит от того, что вы делаете.

Связанный контент