`glib_major_version 'के लिए अपरिभाषित संदर्भ


0

क्या आप मुझे बता सकते हैं कि Ubuntu 10.10 पर लिंक करते समय मैं इस 'अपरिभाषित संदर्भ' त्रुटि को कैसे हल कर सकता हूं

conftest.c :(। पाठ + 0x4): `glib_major_version 'का अपरिभाषित संदर्भ

conftest.c :(। पाठ + 0xd): अपरिभाषित संदर्भ 'glib_minor_version' के लिए

conftest.c :(। पाठ + 0x16): `glib_micro_version 'के लिए अपरिभाषित संदर्भ

संग्रहण 2: ld ने 1 निकास स्थिति लौटा दी

मैंने अपने .bashrc में 'निर्यात LD_LIBRARY_PATH = / usr / lib: / lib: $ LD_LIBRARY_PATH' जोड़ दिया है।

$ ls -la परिवाद *। *

lrwxrwxrwx 1 रूट रूट 23 2010-12-17 18:29 libglib-2.0.so.0 - & gt; 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 $ pwd

/ lib

लेकिन इससे समस्या हल नहीं होती है। मुझे क्या करना चाहिए?


क्या आपने जोड़ा? -lglib अपने लिंकर विकल्पों के लिए, उदा। gcc -lglib या ld -lglib या LDFLAGS=-lglib?
Mikel

क्या यह आपका अपना कोड है, या किसी और का है? क्या यह एक है ./configure स्क्रिप्ट? आपको हमें यह दिखाने की आवश्यकता है कि त्रुटि के लिए क्या होता है, उदा। आप क्या आदेश चला रहे हैं।
Mikel

जवाबों:


0

आप इसे संकलित करने के लिए किस कमांड पर चल रहे हैं?

क्या इस त्रुटि के लिए कोई अन्य त्रुटियाँ हैं?


मेरे पास आपके जैसा ही फ़ाइल का संस्करण है, और इसमें वे प्रतीक हैं

$ 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

जवाब इस बात पर निर्भर करता है कि आप क्या कर रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.