3

MacOSXのObj-Cアプリケーションに組み込まれる軽量のPrologエンジンを探しています。
Javaには、デプロイ可能性、軽量性、動的構成可能性、Javaとの統合、相互運用性の容易さなど、私が必要とする特性を備えた優れた実装がいくつかあります。C / C ++で似たようなものをお勧めできますか?


何度か検索したところ、YAPrologを見つけてここを読んだところ、他のプログラムから呼び出すライブラリとして使用できるようです。しかし(愚かな質問):

  1. 私はUNIXに不慣れで、YAPマニュアルのこれらのコマンドを使用してlibyap.aファイルを作成する方法を正確に知りません...
  2. 次に、Xcodeプロジェクトにlibyap.aをコピーして使用できますか?
4

1 に答える 1

3

GPrologMac OS X(Darwin)をサポートし、Mac OSXLeopard用のインストーラーがあります。そしてここで、Cからgprologを呼び出す方法を読むことができます(これも読んでください)。次に、を使用する代わりに、リンクに適切なオプションを追加することを条件にgplc使用gccできます。これは、少し「トリッキー」である可能性があります。でオブジェクトファイルを作成しgplc、すべてを接着することができます...

YAPについて:

1)通常、autoconfを含むパッケージは、次の一連のコマンドを使用して単純にコンパイルされます。

./configure
make

ファイナルmake installはすべてをインストールする必要があり、インストールする権限を持つユーザーが実行する必要があります。マニュアルでは、ARCH(ARCH。?)dirを作成し、そこからすべてを実行することを提案しています(つまり、の../configure代わりに./configure)。

configureスクリプトは通常オプションを受け入れます。それらを見てください。特に、LIBDIRとがどこにあるかを確認してくださいYAPLIBDIR

したがって、ソースtarball(ソースの)を入手したら、それをアーカイブ解除する必要があります。GNU / Linuxで機能する.tar.gzようなコマンドは、MacOSXでも機能するはずです...tar -xzf Yap-5.1.3.tar.gztar

./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

Makefileのターゲットの中で、私も読むことができますlibYap.a。だから、make(私はGNU / Linuxを使用していて、問題を解決する方法が異なる可能性があるため、何がうまくいかないかを確認するためにそれをしません)、最後に、を取得する必要がありますlibYap.a。 「root」(管理者)と

make install

installターゲット(install_unix私にとっては正確に)では、libがどこにあるかを知っていれば、コンパイラがインストールされ、コンパイラで使用できるようになっている必要が$(INSTALL_DATA) -m 755 libYap.a $(DESTDIR)$(LIBDIR)あることを意味します(そして、それを知っている場合は、上記を参照して、configureのオプションを覚えておいてください).a

2)もちろん、必要な場所に直接コピーして「直接」使用することもできますが、によって「正規に」インストールされるためmake install、他の「システム全体」のlibアーカイブを使用する場合と同じように使用してください。

于 2010-07-14T12:12:08.050 に答える