autoconf chemin de liaison de la bibliothèque de libtool incorrecte (besoin lettre de lecteur) pour ld.exe
Question
J'utilise autoconf et lorsque la cible est MinGW j'utilisais le drapeau -mno-Cygwin. Cela a été supprimé donc je suis en train d'utiliser la chaîne d'outils MinGW. Le problème est l'éditeur de liens ne trouve pas mes bibliothèques
/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
Pour relier ce à partir de la ligne de commande en utilisant l'éditeur de liens MinGW le chemin de -L
a besoin de la lettre de lecteur i.e.
mingw32-ld testRandom.o -LD:/home/Tam/src/3DS_Games/lib/Random -lRandom
fonctionne. Le chemin de -L
est généré à partir de la makefile.am
qui ont
LDADD = -L$(top_builddir)/lib/Random -lRandom
Cependant, je ne peux pas trouver comment mettre top_builddir
à un chemin relatif ou pour commencer avec la lettre de lecteur (mes compétences autoconf sont faibles).
En tant que « solution » tempoary J'ai supprimé l'utilisation de libtool. Je pourrais pirater un infront $(DRIVE_LETTER)
de chaque option -L, mais je voudrais trouver quelque chose de mieux.
La solution
Vous devez lui fournir des pistes de style unix
-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random