libreria libtool autoconf percorso linker errato (bisogno di drive-lettera) per ld.exe

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

  •  21-09-2019
  •  | 
  •  

Domanda

Io uso autoconf e quando il bersaglio è mingw stavo usando la bandiera -mno-Cygwin. Questo è stato rimosso in modo che sto cercando di utilizzare il tool chain MinGW. Il problema è il linker non è trovare le mie librerie

/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

Per creare un collegamento questo dalla riga di comando utilizzando il linker mingw il percorso -L ha bisogno della lettera di unità cioè

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

funziona. Il percorso -L è generato dal del makefile.am che hanno

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

Tuttavia non riesco a trovare come impostare top_builddir ad un percorso relativo o per iniziare con la lettera di unità (le mie capacità autoconf sono deboli).

Come una "soluzione" tempoary ho rimosso l'uso di libtool. Potrei hackerare un fronte $(DRIVE_LETTER) di ogni opzione -L, ma mi piacerebbe trovare qualcosa di meglio.

È stato utile?

Soluzione

È necessario fornire con i percorsi di tipo UNIX

-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top