对于ld.exe,autoconf libtool库链接器路径不正确(需要驱动器号)

时间:2010-03-20 23:12:11

标签: linker mingw libtool

我使用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技能很弱)。

作为一种暂时的“解决方案”,我已经删除了libtool的使用。我可以在每个-L选项的前面$(DRIVE_LETTER)攻击,但我想找到更好的东西。

1 个答案:

答案 0 :(得分:1)

您需要为其提供unix风格的路径

-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random