2010-07-14 1 views
3

Mac OSX에서 Obj-C 응용 프로그램에 임베디드 될 경량 Prolog 엔진을 찾고 있습니다.
Java에는 필 요한 특성 (배포 가능성, 밝기, 동적 구성 가능성, Java와의 통합 및 상호 운용성 용이성)을 갖춘 우수한 구현이 있습니다. C/C++에서 비슷한 것을 추천 할 수 있습니까?Obj-C 프로젝트에 프롤로그 엔진 임베디드


여러 검색 후 나는 YAProlog를 발견하고 here를 읽고이 라이브러리가 다른 프로그램에서 호출 할 수로 사용할 수 있습니다 보인다. 그러나 (바보 같은 질문) :

  1. 내가 UNIX와 경험 그리고 난 어떻게 YAP 설명서의 해당 명령과 libyap.a 파일을 생성하는 방법을 정확하게 모른다는 ...
  2. 그때 libyap를 복사 할 수 .a 내 Xcode 프로젝트에서 그것을 사용합니까?

답변

3

GProlog은 Mac OS X (Darwin)를 지원하며 Mac OS X Leopard 용 설치 프로그램이 있습니다. 그리고 here 당신은 어떻게 call gprolog from C 읽을 수 있습니다 (this 읽기도). 그런 다음 gplc을 사용하는 대신 연결하기위한 적절한 옵션을 추가하는 경우 gcc을 사용할 수 있습니다 (비트 "속임수"일 수 있음). 그래서 YAP 소개

... 당신은 gplc와 오브젝트 파일을 생성 할 수 있습니다 후 모든 것을 함께 접착제 : 일반적으로 다음 명령 "순서"로 간단하게 컴파일 autoconf를 함께 패키지)

1

./configure 
make 

최종본 make install은 모든 것을 설치해야하며이를 수행 할 권리가있는 사용자가 실행해야합니다. 설명서에 ARCH (ARCH.?) 지시문을 만들고 거기에서 모든 것을 수행하라는 메시지가 표시됩니다 (따라서 ./configure 대신 ../configure).

configure 스크립트는 일반적으로 옵션을 허용합니다. 특히 LIBDIRYAPLIBDIR 위치를 확인하십시오. 원본 타르볼 (소스의 .tar.gz), 당신이 그것을 폐기 처리해야을 일단

그래서, tar -xzf Yap-5.1.3.tar.gz GNU/Linux의 작품과 같은 tar 같은 명령은 ...

맥 OS X에도해야한다

./configure --help을보고 진행하기 전에 사용하고 싶은 재미있는 옵션이 있는지 살펴 봅니다.

이제

mkdir ARCH. # I would put GNUlinux, or maybe 
      # the name must be exactly this? 
cd ARCH. 
../configure 

당신은 ... 기다려 디렉토리가 다음 단계에 필요한 evrything의 인구됩니다 (이 ;-) 나에게 이상하게 보이더라도)의 수동의 제안에 따라 수 있습니다. 생성 된 Makefile에서보세요, 당신은 메이크의 목표 중

# 
# where YAP should look for binary libraries 
# 
LIBDIR=$(EROOTDIR)/lib 
YAPLIBDIR=$(EROOTDIR)/lib/Yap 

같은 라인을 참조, 또한 libYap.a를 읽을 수 있습니다.그래서 make을 시도해보십시오. (GNU/Linux에있어 문제가 해결 될 수 있기 때문에 무엇이 잘못되었는지 확인할 것입니다.) 결국, libYap.a을 얻어야합니다. , 당신의 .a 설치하고 컴파일러에서 사용할 준비가되어 있어야합니다, 당신을 제공하는 것을 의미한다 $(INSTALL_DATA) -m 755 libYap.a $(DESTDIR)$(LIBDIR)을 읽기 "루트"(관리자)가되고 (나에게 정확히 install_unix)을 install 대상에서

make install 

을 lib가 어디에 있는지 알면 (위의 내용과 configure의 옵션을 기억하십시오)

2) 물론 원하는 곳에 직접 복사 할 수 있습니다 그것을 "직접"사용하지만, make install에 의해 "표준 적으로"설치 되었기 때문에 다른 "시스템 와이드"lib 아카이브를 사용하는 방식으로 사용하십시오.