ruta enlazador biblioteca libtool autoconf incorrecta (necesidad drive-letter) para ld.exe

StackOverflow https://stackoverflow.com/questions/2485166

  •  21-09-2019
  •  | 
  •  

Pregunta

utilizo autoconf y cuando el objetivo es MinGW que estaba usando la bandera -mno-cygwin. Esto ha sido retirado por lo que estoy tratando de utilizar la cadena de herramientas MinGW. El problema es que el enlazador no es encontrar mis 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 enlazar esto desde la línea de comandos utilizando el enlazador MinGW el camino -L necesita es decir la letra de unidad

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

funciona. El camino -L se genera a partir del makefile.am de los cuales tienen

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

Sin embargo no puedo encontrar cómo configurar top_builddir a una ruta relativa o para iniciar con la letra de unidad (mis habilidades autoconf son débiles).

Como una "solución" tempoary He quitado el uso de libtool. Podría cortar un frente $(DRIVE_LETTER) de cada opción -L, pero me gustaría encontrar algo mejor.

¿Fue útil?

Solución

Es necesario dotarla de caminos de estilo UNIX

-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top