1

私は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)ますが、もっと良いものを見つけたいです。

4

1 に答える 1

1

UNIXスタイルのパスを提供する必要があります

-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random
于 2011-06-23T01:12:03.593 に答える