我使用 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
's生成的
LDADD = -L$(top_builddir)/lib/Random -lRandom
但是我找不到如何设置top_builddir
相对路径或以驱动器号开头(我的 autoconf 技能很弱)。
作为一个临时的“解决方案”,我删除了 libtool 的使用。我可以破解$(DRIVE_LETTER)
每个 -L 选项的前面,但我想找到更好的东西。