Chcę zbudować bibliotekę statyczną (plik * .LIB) GNU libiconv w oknach, które będą używane z innymi bibliotekami w Visual C++. Inne biblioteki, których używam, są zbudowane z opcją "MultiThreaded DLL" (/ MD) Runtime. Tak więc muszę zbudować libiconv z tą samą opcją.Jak zbudować gnu `libiconv` na i dla systemu Windows?
Problem to libiconv
używa systemu kompilacji GNU i chcę skompilować z opcją/MD. Można zobaczyć strukturę źródłowego libiconv tutaj:
http://cvs.savannah.gnu.org/viewvc/libiconv/?root=libiconv
Pan Zlatković utrzymuje port oknach GNU libiconv
dla libxml2
można je zobaczyć tutaj:
ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip
Nie mogę korzystać jego port. Muszę zbudować z najnowszej wersji libiconv-1.13. Zastanawiam się, jak ten facet go przeportował? Czy ktoś może mi powiedzieć, jak skompilować plik * .lib i skompilować go za pomocą MSVC?
EDIT:
Faktycznie, muszę zbudować kilka dodatkowych bibliotek GNU z tymi samymi ustawieniami. Tak więc, jeśli otrzymam rozwiązanie dla jednej biblioteki. Mogę zrobić to samo dla wszystkich innych.
ale w jaki sposób uruchomić './Configure', który jest skryptem powłoki? Co więcej, w jaki sposób dałbym opcję Runtime "MultiThreaded DLL" do kompilatora g ++ MinGW. – claws
Być może nie spotkasz się z tym samym problemem z zestawem narzędziowym MinGW, którego programista próbuje uniknąć. Zasadniczo opcja wielowątkowa dla kompilatora/konsolidatora MSVC pozwala bibliotece DLL na używanie wielu stert zamiast pojedynczego sterty, od szybkiego spojrzenia i zapobiega pojawianiu się problemów. –
Cóż, nie mogę używać łańcucha narzędzi GNU dla całego projektu. Ponieważ 1. Nie jestem zaznajomiony z MinGW 2. Używam MFC i 3. wszystkie inne biblioteki są w porządku z MSVC i mam je skompilowane w MSVC. Potrzebuję tylko sposobu na skompilowanie bibliotek gnu dla Windows. ważne pytanie brzmi, w jaki sposób "./configure" wykonać, aby utworzyć plik Makefile? Również nie mogę użyć skompilowanego pliku lib dla libiconv, ponieważ sam skompiluję to. Użyję tej samej metody do kompilacji innych wymaganych gnu-lib. – claws