Linker Problem
-
klappt es jetzt?
du musst das deshalb machen, weil zuerst wahrscheinlich die shared xlibs unter /usr/X11R6/lib waren, jetzt aber unter /usr/lib. die -L option war immer noch auf den alten ordner gerichtet, der anscheinend nur statische libs enthält. wahrscheinlich ist das durch ein update der xlibs passiert.
-
bitte was muss ich mit "LDFLAGS" machen?
-
hab jetzt mal nach besten Wissen und Gewissen folgendes gemacht:
[root@192 ~]# LDFLAGS=-L/usr/lib/libX11.so.6
hab dann folgenden compiler output bekommen
/usr/X11R6/lib/libICE.a(transport.o): In function `_IceTransSocketINETConnect': transport.c:(.text+0x16d3): undefined reference to `__ctype_b' /usr/X11R6/lib/libICE.a(transport.o): In function `_IceTransSelectTransport': transport.c:(.text+0x20ba): undefined reference to `__ctype_b' transport.c:(.text+0x20c0): undefined reference to `__ctype_tolower' /usr/X11R6/lib/libICE.a(transport.o): In function `is_numeric': transport.c:(.text+0x3997): undefined reference to `__ctype_b' /usr/X11R6/lib/libfreetype.a(type1.o): In function `is_alpha': type1.c:(.text+0x1169): undefined reference to `__ctype_b' /usr/X11R6/lib/libfreetype.a(type1.o): In function `afm_atoindex': type1.c:(.text+0x3042): undefined reference to `__ctype_b'
-
du musst nur den ordner angeben. nicht die datei.
-
hab ich gemacht
funktioniert aber trotzdem nicht
-
Loesch mal alle object-Files (*.o) und kompiliere das Projekt nochmal komplett neu.
-
hab ich probiert, funktioniert auch nicht.
ich hab jetzt mal ein neues projekt angelegt. und die .cpp und .h files dem projekt hinzugefügt.
ich verwende in meinem Projekt die Library "qwt" und der oben beschriebene linker fehler kommt nur, wenn ich diese library dem projekt hinzufüge.
-
bin jetzt ein wenig schlauer.
es muss mit der GUI zusammen hängen.
compiliere ich die Qt Library GUI zu seinem Projekt hinzu kommt der Fehler, lass ich sie weg, dann funktionierts
kann mir da jemand helfen?
-
ich kann nur vermutungen anstellen. dein system erscheint mir sehr komisch.
als qt compiliert wurde (von dir oder den leuten der distribution, die du verwendest) lagen die shared versionen der xlibs in /usr/X11R6/lib. das hat sich qt gemerkt und will immer den pfad hinzufügen. dort liegen aber jetzt anscheinend nur mehr dei statischen versionen. die schnellste und einfachste lösung ist, dass du alle shared versionen aus /usr/lib nach /usr/X11R6/lib kopierst oder verlinkst. aba wie gesgat, dein system erscheint mir kaputt. welche distribution verwendest du?
-
ich benutze Fedora 8
-
hast du ein update von fedora gemacht oder das 8er ganz neu installiert? hat das geklappt, was ich dir geraten habe?