Ты всё делаешь правильно. Просто у нас несколько разные окружения сборки, и поэтому вылезают всякие косяки. Это нехоженная тропка -- тогда как под linux собирает каждый второй, под windows это делают единицы.
Виндовую версию я кросскомпилирую под линуксом. В принципе, разница небольшая, но версии компилятора и всякие другие штуки несколько разнятся. Однако под чистой виндой тоже должно всё собираться.
В качестве компилятора у меня используется debian-сборка mingw:
- Code: Select all
$ i586-mingw32msvc-g++ --version
i586-mingw32msvc-g++ (GCC) 4.2.1-sjlj (mingw32-2)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
libiconv я брал с gnuwin32.sf.net. С iconv проблема в том, что разные её сборки имеют разные прототипы функции iconv(). В некоторых версиях присутствует const-модификатор, в других нет. Решается это всеми кое-как условной компиляцией. Короче, тут либо попробуй gnuwin32-версию, либо на 527-й строчке сотри слово const. Но там такая же тема как минимум еще в iconv.cc:41.
Всё это довольно утомительно, но могу сказать, что через некоторое время ошибки сборки заканчиваются, все собирается и начинает работать