autoconf的libtool的库链接路径不正确(需要驱动器号)的ld.exe
题
我使用autoconf当目标是mingw的我用的是-mno-cygwin的标志。这已被删除,所以我想用MinGW的工具链。问题是,接头不找到我的库
/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
要使用mingw的接头的-L
路径需要的驱动器号即在命令行链接此
mingw32-ld testRandom.o -LD:/home/Tam/src/3DS_Games/lib/Random -lRandom
的工作原理。从-L
的产生的makefile.am
路径具有
LDADD = -L$(top_builddir)/lib/Random -lRandom
不过,我无法找到如何top_builddir
设置为相对路径或与驱动器盘符启动它(我的autoconf技能弱)。
作为tempoary“溶液”我已删除了使用libtool。我可以砍每-L选项的$(DRIVE_LETTER)
盈,但我想找到更好的东西。
解决方案
您需要为它提供UNIX风格的路径
-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random
不隶属于 StackOverflow