referencia indefinida a `glib_major_version'

referencia indefinida a `glib_major_version'

¿Puede decirme cómo puedo resolver este error de 'referencia indefinida' al vincular en Ubuntu 10.10?

conftest.c:(.text+0x4): referencia no definida a `glib_major_version'

conftest.c:(.text+0xd): referencia no definida a `glib_minor_version'

conftest.c:(.text+0x16): referencia no definida a `glib_micro_version'

Collect2: ld devolvió 1 estado de salida

He agregado 'exportar LD_LIBRARY_PATH=/usr/lib:/lib:$LD_LIBRARY_PATH' a mi .bashrc.

$ ls -la libgl*.*

lrwxrwxrwx 1 raíz raíz 23 2010-12-17 18:29 libglib-2.0.so.0 -> libglib-2.0.so.0.2600.0

-rw-r--r-- 1 raíz raíz 842208 2010-09-27 16:16 libglib-2.0.so.0.2600.0

/lib$contraseña

/lib

Pero eso no resuelve el problema. ¿Qué tengo que hacer?

Respuesta1

¿Qué comando estás ejecutando para compilarlo?

¿Hay otros errores que conduzcan a este error?


Tengo la misma versión del archivo que tú y tiene esos símbolos.

$ 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

¿Estás compilando tu propio programa? Quizás solo necesite decirle al vinculador que se vincule glibagregando la -lglib-2.0opción.

Si estás ejecutando
gcc -o conftest conftest.c, deberías hacerlo
gcc -o conftest -lglib-2.0 conftest.cen su lugar.

O puedes agregar -lglib-2.0a LDFLAGS.


¿Estás compilando el programa de otra persona? Podría estar usando pkgconfig. Puede haber algunas cosas /usr/localque sean confusas.

¿Instalaste otros programas o bibliotecas tú mismo? ¿Quizás algo que se instaló solo /usr/local/lib?

¿Qué cat /usr/lib/pkgconfig/glib*dice?
¿Qué cat /usr/local/lib/pkgconfig/glib*dice?

Es posible que deba cambiar el valor de LD_LIBRARY_PATHpara incluirlo /usr/local/lib, o quizás cambiarlo PKG_CONFIG_PATHo agregarle algunas opciones ./configure.

La respuesta depende de lo que estés haciendo.

información relacionada