GProlog
поддерживает Mac OS X (Darwin) и есть установщик для Mac OS X Leopard.И здесь вы можете прочитать, как вызвать gprolog из C (читайте также this ).Тогда вместо использования gplc
вы можете использовать gcc
при условии, что вы добавите правильные параметры для связывания, что может быть немного «хитростью»;так что вы можете создавать объектные файлы с помощью gplc
и затем склеивать все вместе ...
О YAP:
1) Обычно пакет с autoconf компилируется просто с помощью следующей "последовательности" команд
./configure
make
Финальный make install
должен установить все и должен быть выполнен пользователем, имеющим на это право.В руководстве предлагается создать ARCH
(ARCH.?) Dir и делать все оттуда (так, ../configure
вместо ./configure
).
Скрипт configure
обычно принимает параметры, взгляните на них.В частности, проверьте, где находятся LIBDIR
и YAPLIBDIR
.
Итак, когда у вас есть архив с исходным кодом (.tar.gz
источника), вы должны разархивировать его, команда, подобная tar -xzf Yap-5.1.3.tar.gz
, работает сGNU / Linux и тот же tar
должны быть также на Mac OS X ...
Давайте посмотрим на ./configure --help
и посмотрим, увидите ли вы интересную опцию, которую хотите использовать, прежде чем продолжить.
Теперь, давайте последуем совету руководства (даже если оно мне покажется странным; -))
mkdir ARCH. # I would put GNUlinux, or maybe
# the name must be exactly this?
cd ARCH.
../configure
Вы ждете ... и в каталоге появится все, что нужно для следующего шага.Посмотрите на созданный Makefile
, вы видите строки типа
#
# where YAP should look for binary libraries
#
LIBDIR=$(EROOTDIR)/lib
YAPLIBDIR=$(EROOTDIR)/lib/Yap
Среди целей Make-файла я могу прочитать также libYap.a
.Итак, попробуйте make
(я не буду делать этого, чтобы проверить, что может пойти не так, в том числе потому, что я нахожусь на GNU / Linux и способы решения проблем могут быть другими), в конце вы должны получить libYap.a
и так, станьте "root" (администратор) и выполните
make install
В цели install
(точно для меня install_unix
) я читаю $(INSTALL_DATA) -m 755 libYap.a $(DESTDIR)$(LIBDIR)
, что означает, что ваш .a
установлен и должен быть готов к использованию компилятором, при условии, что вы знаете, где находится библиотека (и вы это знаете, см. выше и запомните параметры конфигурации)
2) Конечно, вы можете скопировать ее прямо туда, где выон нужен и используется «напрямую», но поскольку он «канонически» установлен make install
, используйте его так же, как и любой другой «общесистемный» архив lib.