Pergunta

Eu uso o Autoconf e quando o destino é Mingw, eu estava usando o sinalizador -mno -cigwin. Isso foi removido, por isso estou tentando usar a cadeia de ferramentas Mingw. O problema é que o vinculador não está encontrando minhas bibliotecas

/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

Para vincular isso da linha de comando usando o linker Mingw, o -L Caminho precisa da letra de acionamento, ou seja,

mingw32-ld testRandom.o -LD:/home/Tam/src/3DS_Games/lib/Random -lRandom

funciona. o -L O caminho é gerado a partir do makefile.amé que tem

LDADD = -L$(top_builddir)/lib/Random -lRandom

No entanto, não consigo encontrar como definir top_builddir a um caminho relativo ou para iniciá -lo com a letra de acionamento (minhas habilidades do AutoConf são fracas).

Como uma "solução" tempoary, removi o uso do libtool. Eu poderia hackear um $(DRIVE_LETTER) na frente de cada opção -l, mas eu gostaria de encontrar algo melhor.

Foi útil?

Solução

Você precisa fornecer caminhos no estilo Unix

-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top