Как построить gnu 'libiconv' На & для windows?

Я хочу создать статическую библиотеку (*.LIB file)GNU libiconv в windows для использования с другими библиотеками в Visual C++. Другие библиотеки, которые я использую, построены с опцией" многопоточная DLL " (/MD). Итак, мне нужно построить libiconv с той же опцией.

4 ответов


Я нашел парк Йонгху по Как построить libiconv с Microsoft Visual Studio на Проект Код быть полным и чистым (для VS2010 и GNU libiconv 1.14).


маленькое дополнение к вашему ответу. У меня была та же проблема, и я обнаружил, что решение MinGW + MSYS было идеальным.

хотя, мне нужно пойти немного дальше и создать тоже .lib файл для того, чтобы иметь возможность связать с результирующей dll.

вот что я нашел:

  • создать .def-файл из библиотеки dll с помощью dumpbin (инструмент Visual Studio).

  • создать .lib файл из .def с программой lib (Визуальной студии)

Это позволяет указать некоторые флаги ссылок, если это необходимо. Все подробно описано здесь (я не автор этого метода): http://wiki.videolan.org/GenerateLibFromDll

Я также понял, что эта пара lib/dll может быть связана как с библиотеками MD, так и с MDd.

надеюсь, что может помочь людям, которые найдут этот пост, как это помогло мне.

-Дэвид


компилировать их с помощью MinGW использование Msys для окружающей среды, если это необходимо. По MinGW это .файлы, судя по всему, по списку рассылки, в том же формате,.lib-файлы (просто переименуйте). Вы можете сначала проверить, включена ли статическая библиотека iconv уже в файловую систему загрузки / загрузки MinGW.

Edit: это в msys (C:\msys\1.0\lib), вдоль с:

  • libiconv.а
  • libiconv.файл DLL.а
  • libiconv.Ла

и дополнительно

  • libiconv-2.dll (in C:\msys\1.0\local\bin)

Edit: это здесь, libiconv вам нужно? эти версии, похоже, имеют MSVC makefiles:)http://www.opensource.apple.com/source/libiconv/


Я ОП. префикса msys - это то, что я искал.

просто установите MinGW & MSYS, который содержит shell sh.exe & make.exeС помощью которого вы можете настроить и создать Makefile после этого вы можете использовать make.exe, чтобы запустить его.

Это так просто.