• Sábado 14 de Diciembre de 2024, 17:40

Autor Tema:  Usar Swi-prolog Desde C++ Builder.  (Leído 1098 veces)

Anonymous

  • Visitante
Usar Swi-prolog Desde C++ Builder.
« en: Lunes 20 de Noviembre de 2006, 21:55 »
0
¿Alguien a utilizado SWI-Prolog desde C++ Builder?

 Hace unos meses que comencé a trabajar en proyecto donde hemos decidido hacer uso de un compilador de prolog desde C++ Builder. Hemos estado revisando la interfase que brindan para SWI-Prolog y todo está perfecto, pero no sabemos dónde podemos encontrar las implementaciones de las funciones que utilizan en el fichero de cabecera “SWI-cpp.h”.
Sabemos que están definidas en el fichero de cabecera “SWI-Prolog.h”, pero ¿dónde están las implementaciones?. Para poder linkear el código necesitamos las implementaciones de esas funciones (por ejemplo: PL_new_functor, PL_new_atom, PL_new_term_ref, etc.)  porque sino el compilador no puede linkear el código.  Supusimos que estaban en  unas de las dll que vienen con el compilador de SWI-Prolog pero parece que no porque pusimos todas las dll de la carpeta Bin del SWI-prolog en la carpeta “system32” de Windows y nada, el compilador sigue dando el mismo error de linkeo, por ejemplo:

1)   [Linker Error] Unresolved external 'PL_new_atom' referenced from C:\ARCHIVOS DE PROGRAMA\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ

2)   [Linker Error] Unresolved external 'PL_new_functor' referenced from C:\ARCHIVOS DE PROGRAMA\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ


Le pedimos de favor, que si usted conoce donde podemos encontrar la dll que tiene las implementaciones de estas funciones, no los haga saber. De ser alguna de las que viene con el compilador de SWI-prolog también díganoslo, es probable que el problema sea que no estamos cargando de forma correcta la dll, pero así ya estaremos seguro de cuál es la dll que necesitamos cargar.

También es posible que note que estamos por el camino equivocado para utilizar SWI-prolog desde C++ Builder, de ser así díganoslo. Lo que tenemos pensado hasta ahora es hacer uso de los ficheros de cabecera que vienen con el compilador de SWI-prolog, en especial de “SWI-cpp.h”,  pero estos necesitan de las implementaciones que ya mencionamos. Si vamos por el camino correcto, por favor, también le pedimos que nos lo diga.  

Esperamos impacientemente su respuesta, estaríamos eternamente agradecidos por su ayuda.

Saludos a todos.  :hola: