неверный путь компоновщика библиотеки autoconf libtool (нужна буква диска) для ld.exe

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

  •  21-09-2019
  •  | 
  •  

Вопрос

Я использую 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 к относительному пути или запустить его с буквы диска (мои навыки автоконфигурации слабы).

В качестве временного "решения" я удалил использование libtool.Я мог бы взломать $(DRIVE_LETTER) перед каждым вариантом -L, но я бы хотел найти что-нибудь получше.

Это было полезно?

Решение

Вам нужно предоставить ему пути в стиле unix

-L/cygdrive/D/home/Tam/src/3DS_Games/lib/Random
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top