Из того, что я мог исследовать из очень подробного вывода с использованием кнопки «Тест» на «Опции компилятора», для этих опций не определено ни одного:
- FPCAPACHE_1_3
- FPCAPACHE_2_0
Так что это означает, что в: /etc/fpc.cfg
#IFDEF FPCAPACHE_1_3
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/
#ELSE
#IFDEF FPCAPACHE_2_0
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20/
#ELSE
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22/
#ENDIF
#ENDIF
По умолчанию тест вернется к httpd22.
Тем не менее, имея:
- / USR / Библиотека / FPC / 2.4.0 / единиц / x86_64-Linux / httpd20
- / USR / Библиотека / FPC / 2.4.0 / единиц / x86_64-Linux / httpd22
в пути компилятора к скомпилированным модулям это означает, что он сначала найдет httpd20.
Это означает, что он попытается загрузить версию 2.0, а не версию 2.2 скомпилированных модулей.
Итак, первое решение - удалить / переместить папку 1. из системы.
Это позволит вам скомпилировать, но, увы, он не будет связываться в 64-битной системе (я тестирую на системе AMD64, поэтому я не собираюсь предполагать, что она работает в другом месте).
Процесс заканчивается подсказкой, чтобы добавить -fPIC к опциям компилятора.
Если вы идете в Project-> Параметры компилятора ...-> Other в нижней части TextBox, вы можете добавить его.
Вуаля, это работает.