Irix > Programmieren, Kompilieren

Linux Portierungen auf SGI

<< < (5/5)

landy:
So, bis auf einen Linker-Error läuft scummvm durch. Zuerst hatte ich heftig Probleme weil die Jungs nicht alle Templates inline im header haben. Hab ich aber jetzt im Griff.

Was der jetzt aber von mir will? Das Symbol finde ich nirgends. Schon gar nicht in der Datei die er anmäkelt.
"vec_new_eh_zero"
Meine Linkerflags: lmad -lz -lmd -lm -L/usr/nekoware/lib -Wl,-rpath,/usr/nekoware/lib -lSDL -lpthread

Grüße,
Michael


--- Code: ---michael@fuel:/usr/nekoware/src/scummvm-0.11.mr$ gmake
CC  -L/usr/nekoware/lib -rpath /usr/nekoware/lib:/usr/lib32  backends/platform/sdl/events.o backends/platform/sdl/graphics.o backends/platform/sdl/main.o backends/platform/sdl/sdl.o base/libbase.a engines/scumm/libscumm.a engines/agi/libagi.a engines/agos/libagos.a engines/cine/libcine.a engines/cruise/libcruise.a engines/drascula/libdrascula.a engines/gob/libgob.a engines/igor/libigor.a engines/kyra/libkyra.a engines/lure/liblure.a engines/parallaction/libparallaction.a engines/queen/libqueen.a engines/saga/libsaga.a engines/sky/libsky.a engines/sword1/libsword1.a engines/sword2/libsword2.a engines/touche/libtouche.a engines/libengines.a gui/libgui.a graphics/libgraphics.a sound/libsound.a common/libcommon.a backends/libbackends.a sound/softsynth/mt32/libmt32.a   -lmad -lz -lmd -lm -L/usr/nekoware/lib -Wl,-rpath,/usr/nekoware/lib -lSDL -lpthread -o scummvm
ld32: INFO    171: Multigot invoked. Gp relative region broken up into 2 separate regions.
ld32: ERROR   33 : Unresolved text symbol "__vec_new_eh_zero" -- 1st referenced by engines/kyra/libkyra.a(sound_digital.o).
        Use linker option -v to see when and which objects, archives and dsos are loaded.
ld32: INFO    152: Output file removed because of error.
gmake: *** [scummvm] Error 2
michael@fuel:/usr/nekoware/src/scummvm-0.11.mr$

--- Ende Code ---

landy:
völlig behämmert, das muß mir jetzt mal jemand erklären.
 ???
Ursache war der Code hier:


--- Code: ---SoundDigital::SoundDigital(KyraEngine *vm, Audio::Mixer *mixer) : _vm(vm), _mixer(mixer)/*, _sounds()*/ {
        memset(_sounds, 0, sizeof(_sounds));
}
--- Ende Code ---

Die Initialierung von sounds() habe ich auskommentiert und schon findet der Linker alle Symbole. WARUM?
Ist aber akademisch, weil man diese Initialisierung nicht wirklich braucht -> wird ja sowieso ein Zeile später geplättet (memset blabla...)

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln