Я установил mingw с их сайта. Я установил пакет разработчика, в который входят iconv и intl, msys и все остальное.

Я бегу ./configure, а затем make install. При связывании он печатает:

 ../../src/liblzma/liblzma.la  -lintl
libtool: link: cannot find the library `/home/keith/staged/mingw32/lib/libiconv.
la' or unhandled argument `/home/keith/staged/mingw32/lib/libiconv.la'
make[2]: *** [xzdec.exe] Error 1

Понятия не имею, кто такой Кейт и почему он там ищет библиотеку. Я попробовал настроить CCFLAGS CXXFLAGS и LDFLAGS для своей папки include и библиотеки /usr/local/lib

Нет сигары .. есть идеи, почему это происходит и как я могу это исправить?

3
Brandon 13 Май 2014 в 21:32

2 ответа

Лучший ответ

Это известная проблема с пакетом MinGW gettext. Кейт Маршалл, "кейт", о котором идет речь, немного объясняет, что происходит в отчет об ошибке на сайте MinGW SourceForge.

Довольно уродливый обходной путь - создать папку /home/keith/staged/mingw32, а затем добавить символические ссылки на необходимые папки в /mingw, то есть:

mkdir -p /home/keith/staged/mingw32
cd $_
ln -s /mingw/bin bin
ln -s /mingw/lib lib

(Обратите внимание, что если /mingw не существует в вашей файловой системе, вы можете создать его, добавив эту строку в конец /etc/fstab:

C:/MinGW                /mingw

При условии, конечно, что у вас установлен MingW в C:\MinGW. Закройте окно терминала и повторно запустите msys.bat, чтобы изменения вступили в силу.)

Затем вам нужно будет загрузить libiconv.la с человека, который удобно подготовил файл, и скопируйте его в /home/keith/staged/mingw32/lib/.

Это ужасный взлом, но у меня он сработал.

4
user473305user473305 12 Июн 2014 в 00:44

Согласно этому отчету об ошибке, что-то не так с последним пакетом gettext (gettext- 0.18.3.2).

Я пробовал следующие 2 способа. Кажется, оба работают хорошо.

  • Удалите плохие файлы

    pushd / mingw / lib / && rm libasprintf.la libgettextlib.la libgettextpo.la libgettextsrc.la libintl.la && popd

    Или вы можете просто переименовать их. Фактически, вы увидите / home / keith / ... в этих файлах * .la, если откроете их с помощью текстовых редакторов.

  • Используйте пакет gettext-0.18.3.1

    Закройте MSYS и выполните следующую команду, чтобы использовать старую версию: mingw-get upgrade "gettext = 0.18.3.1-1 *", конечно, с PATH = C: \ mingw \ bin;% PATH%.

2
Bin S 13 Июн 2014 в 03:24