`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개를 반환했습니다.

내 .bashrc에 'export LD_LIBRARY_PATH=/usr/lib:/lib:$LD_LIBRARY_PATH'를 추가했습니다.

$ 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.

대답은 당신이 무엇을하고 있는지에 따라 달라집니다.

관련 정보