Правильные obj-файлы для FPC
Добавлено: 08.12.2010 20:14:58
Решил на досуге приспособить для Lazarus библиотеку delphi.zlib, так как хочется иметь под рукой свежую реализацию этого алгоритма, а в составе FPC идёт какой-то совсем древний порт, даже не использующие оригинальные object'ы. Плюс, в своё время я вытащил из Jedy и немного доковырял напильником парочку очень удобных функций-обёрток, упрощающих сжатие файла/папки до вызова одной функции.
Сама либа компилится без проблем, но вот на obj-файлах компилятор клинит:
Гугл подсказал решение: проблема в том, что обжекты собраны компилятором С Builder'а, а FPC кушает только выбросы Visual C и gcc. Мелкомягкий компилятор под рукой нашёлся, но легче от этого не стало, теперь FPC ругается на те же файлы по-другому:
Собственно, вопрос к знатокам. Как собрать obj-файлы оригинальной zlib, чтобы их скушал FPC. C gcc никогда особо не сталкивался (пару раз доводилось компилировать что-то консольное в Geany под Ubuntu). Пытался скормить Makefile.gcc из комплекта zlib утилите make из состава FPC - не прокатило, говорит:
Сама либа компилится без проблем, но вот на obj-файлах компилятор клинит:
project1.lpr(20,1) Error: Illegal COFF Magic while reading Zlib\deflate.obj
Гугл подсказал решение: проблема в том, что обжекты собраны компилятором С Builder'а, а FPC кушает только выбросы Visual C и gcc. Мелкомягкий компилятор под рукой нашёлся, но легче от этого не стало, теперь FPC ругается на те же файлы по-другому:
project1.lpr(20,1) Error: Failed reading coff file, illegal reloctype $000A while reading Zlib\deflate.obj
Собственно, вопрос к знатокам. Как собрать obj-файлы оригинальной zlib, чтобы их скушал FPC. C gcc никогда особо не сталкивался (пару раз доводилось компилировать что-то консольное в Geany под Ubuntu). Пытался скормить Makefile.gcc из комплекта zlib утилите make из состава FPC - не прокатило, говорит:
c:\zlib-1.2.5\win32>make -f Makefile.gcc
make: *** No rule to make target `zlib.h', needed by `adler32.o'. Stop.