libnodave.so-> Problem beim linken

mp

Level-2
Beiträge
6
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich versuche unter Linux in einem Qt-Projekt libnodave einzubinden.
Makefile-Auszug:
PHP:
LIBS  = $(SUBLIBS)  -L/usr/lib64 -L/usr/lib -lnodave -lQtXml -L/usr/lib64 usw...

Beim kompilieren bekomm ich diesen Fehler:
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libnodave.so when searching for -lnodave
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: cannot find -lnodave
collect2: ld returned 1 exit status
gmake[1]: Das Target »first« wurde wegen Fehlern nicht aktualisiert.
gmake: *** [sub-src-make_default] Fehler 2
gmake: Das Target »first« wurde wegen Fehlern nicht aktualisiert.
*** Beendet mit Status: 2 ***

Das Testprogramm testISO_TCP funktioniert allerdings

Hat jemand eine Idee was der Compiler von mir will bzw. was ich falsch mache?

gruß Marco
 
Hallo,

ich versuche unter Linux in einem Qt-Projekt libnodave einzubinden.
Makefile-Auszug:
PHP:
LIBS  = $(SUBLIBS)  -L/usr/lib64 -L/usr/lib -lnodave -lQtXml -L/usr/lib64 usw...

Beim kompilieren bekomm ich diesen Fehler:
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libnodave.so when searching for -lnodave
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: cannot find -lnodave
collect2: ld returned 1 exit status
gmake[1]: Das Target »first« wurde wegen Fehlern nicht aktualisiert.
gmake: *** [sub-src-make_default] Fehler 2
gmake: Das Target »first« wurde wegen Fehlern nicht aktualisiert.
*** Beendet mit Status: 2 ***

Das Testprogramm testISO_TCP funktioniert allerdings

Hat jemand eine Idee was der Compiler von mir will bzw. was ich falsch mache?

gruß Marco
Kann es sein, daß du da auf einem 64-Bit-System arbeitest? Und dein Projekt für 64 Bit ist? Libnodave.so ist 32 Bit. Ich habe keine Erfahrung mit 64 Bit, aber ich denke, Du solltest versuchen, zunächst eine 64-Bit-Version von libnodave.so zu erstellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zottel,

danke für die Antwort.

Kann es sein, daß du da auf einem 64-Bit-System arbeitest?
Ja, das Projekt ist auch 64Bit
Ich habe keine Erfahrung mit 64 Bit, aber ich denke, Du solltest versuchen, zunächst eine 64-Bit-Version von libnodave.so zu erstellen.
ja das hatte ich auch vermutet, war aber nicht in der Lage die 64Bit-Version der libnodave.so zu erstellen. :rolleyes:
make ist immer mit folgendem Fehler abgebrochen:
PHP:
relocation R_X86_64_32S

Hab es aber mittlerweile hinbekommen: Resultat -> libnodave64.so :ROFLMAO:

Falls es irgendwann noch mal jemand braucht:
Diese Zeilen im Makefile ändern:
PHP:
CFLAGS=-m64 -Wall -Winline -DLINUX -DDAVE_LITTLE_ENDIAN -fPIC
CTFLAGS=-m64 -Wall -Winline -fPID -DLINUX -DDAVE_LITTLE_ENDIAN -fPIC
CPPFLAGS=-m64 -Wall -Winline -DLINUX -DDAVE_LITTLE_ENDIAN -fPIC
.......
install: libnodave.so
	cp libnodave.so /usr/lib64

Jetzt kompiliert alles perfekt.

Danke für die Hilfe
Gruß
Marco
 
Zurück
Oben