Problem beim Linken mit plib-1.8.3
Hi,
also, so langsam verzweifle ich hier. Ich habe ein frisch installiertes
Sarge mit allem was das Herz begeht, außer dem FlightGear Atlas. Sollte
kein Problem sein, den mal schnell zu bauen dachte ich mir und habe mir
die Sourcen runtergeladen.
./configure hat mich dann schon belehrt, daß nur bei der Verwendung der
Version 2.95 von gcc und g++ das Vorhandensein von Simgear richtig erkannt
wird. Problematisch wird es aber dann beim make für Atlas. Compilieren der
Sourcen ist kein Problem, aber beim Linken von Atlas kracht es:
Atlas.o(.text+0x8fc2): In function `show_cb(puObject *)':
/usr/include/plib/pu.h:531: undefined reference to `puValue::getIntegerValue(void)'
So, und in /usr/include/plib/pu.h steht unter Zeile 531:
int getValue ( void ) { return getIntegerValue () ; } /* Obsolete ! */
Wenn ich obige Fehlermeldung aber richtig interpretiere gibt es in der plib
kein Symbol puValue::getIntegerValue.
rainer@seneca:~/Atlas-0.2.2$ objdump -tT /usr/lib/libplibpu.so.1.8.3 | c++filt | grep puValue
00018090 w DF .text 0000004a Base puValue::~puValue()
0002dcbc g DO .bss 00000018 Base puValue::RTTI_obj
000177d0 g DF .text 00000056 Base puValue::RTTI_cast(ulRTTItypeid)
000267ba w DO .rodata 00000009 Base typeinfo name for puValue
0000d290 w DF .text 00000095 Base puValue::setValue(int)
0000d330 w DF .text 000000b8 Base puValue::setValue(float)
0000d1a0 w DF .text 000000e2 Base puValue::setValue(puValue*)
00017da0 g DF .text 000001b5 Base puValue::getTypeString() const
000179d0 g DF .text 000001f4 Base puValue::re_eval()
00024990 w DF .text 00000018 Base non-virtual thunk to puSpinBox::setValue(puValue*)
00017830 g DF .text 00000008 Base puValue::RTTI_scast(int, void*)
00024870 w DF .text 0000011b Base puSpinBox::setValue(puValue*)
000291ac w DO .data 00000008 Base typeinfo for puValue
00029180 w DO .data 0000002c Base vtable for puValue
00017cd0 g DF .text 000000ce Base puValue::setValue(char const*)
00017bd0 g DF .text 000000f9 Base puValue::copy_stringval(char const*)
00018050 w DF .text 0000003a Base puValue::~puValue()
0000d3f0 w DF .text 000000ba Base puValue::setValue(bool)
00018030 w DF .text 0000001d Base puValue::RTTI_vinfo() const
Also auch hier nix mit der getIntegerValue-Methode.
Wo liegt mein Denkfehler? Bin ich zu unfit in C++? Oder fehlt an der plibpu
wirklich was?
Any ideas?
TIA
Rainer
--
Rainer König, Diplom-Informatiker (FH), Augsburg, Germany
Reply to: