AutoConf Libtool Library Linker Path Falsch (benötigen Sie Drive-Letter) für LD.exe
Frage
Ich benutze Autoconf und wenn das Ziel mingw ist, habe ich das Flag -mno -Cygwin -Flag verwendet. Dies wurde entfernt, also versuche ich, die Mingw -Werkzeugkette zu verwenden. Das Problem ist, dass der Linker meine Bibliotheken nicht findet
/bin/sh ../../../libtool --tag=CXX --mode=link mingw32-g++ -g -Wall -pedantic -DNOMINMAX -D_REENTRANT -DWIN32 -I /usr/local/include/w32api -L/usr/local/lib/w32api -o testRandom.exe testRandom.o -L../../../lib/Random -lRandom
libtool: link: mingw32-g++ -g -Wall -pedantic -DNOMINMAX -D_REENTRANT -DWIN32 -I /usr/local/include/w32api -o .libs/testRandom.exe testRandom.o -L/usr/local/lib/w32api -L/home/Tam/src/3DS_Games/lib/Random -lRandom
D:\cygwin\opt\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lRandom
Um dies aus der Befehlszeile mit dem Mingw -Linker zu verknüpfen -L
Pfad braucht den Laufwerksbrief dh dh
mingw32-ld testRandom.o -LD:/home/Tam/src/3DS_Games/lib/Random -lRandom
Arbeiten. Das -L
Pfad wird aus dem erzeugt makefile.am
's, die haben
LDADD = -L$(top_builddir)/lib/Random -lRandom
Ich kann jedoch nicht finden, wie ich einstellen soll top_builddir
zu einem relativen Weg oder mit dem Laufwerksbuchstaben (meine Autoconf -Fähigkeiten sind schwach).
Als tempoarische "Lösung" habe ich die Verwendung von Libtool entfernt. Ich könnte a hacken $(DRIVE_LETTER)
vor jeder Option -l -Option, aber ich würde gerne etwas Besseres finden.
Lösung
Sie müssen es mit Wegen im Unix-Stil zur Verfügung stellen
-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random