Kitayets » 09.03.2012 01:44:57
2daesher - с 2-мя компиляторами неудобно работать в lazarus, он просто не поддерживает такой режим. Нужно собирать натив + кросс.
Кстати очень многие тонкости кросскомпиляции (именно для винды) нигде не описываются. Например какие нужны внешние утилиты для win x86_64.
Опишу подробнее. Проект freepascal собирает fpc для винды так: win32 - native, win64 - cross (т.е. 32->64). Причём пакет с cross компилятором ставится в папку к 32-битному компилятору и содержит ОДИН exe-шник (собственно сам кросс компилятор), и никаких cross bin utils, т.е. ни ассемблера ни линковщика ни упаковщика библиотек, при этом вполне себе собирает 64-битные приложения в 32битном окружении. (как это вообще взможно???)
Проект lazarus собирает fpc для win64 как native и в стабильных версиях там тоже отсутствуют ассемблер и линковщик (как это работает я тоже не понимаю), но в ночных сборках эти приложения присутствуют.
Дока по сборке кросскомпилятора нам твёрдо говорит, что для его сборки и функционирования нам нужны bin утилиты целевой ОС. Как это сочетается с отсутствием оных в оф. сборке fpc (cross win32 to 64) не совсем понятно.