У меня есть x86_64 библиотека по моему Mac, скомпилированному GCC, и я хочу связать его с кодом Паскаля, скомпилированным со Свободным Паскалем 2.4. Что делают опции я даю fpc
заставить его генерировать 64-битный код? Без любых опций я только получаю 32-разрядные.o файлы.
Я использую загрузку fpc-2.4.0.intel-macosx.dmg с SourceForge, но когда я работаю fpc -i
, единственной целевой платформой Macintosh, которую это перечисляет, является "Darwin для i386", хотя в этих 2,4 информации о версии говорится, что это может предназначаться "для 64-разрядного Mac OS X (x86_64/ppc64)".
Согласно Йонасу Маебе из списка рассылки fpc-pascal, есть два варианта:
fpc
с опцией -Px86_64
. (Опция -P
пока не документирована.)ppcx64
напрямую вместо fpc
. (Без каких-либо опций, fpc
запускает ppc386
вместо этого.)Оба варианта сработали у меня.
Используйте -m64
.
На самом деле, в документации по GNU Pascal даже не указано, что он поддерживается на Mac OS X. FreePascal, с другой стороны, работает на всех вариантах Mac OS X (Intel и PPC, 32 и 64 бита).