[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: