gpt4 book ai didi

c++ - SWI-Prolog C++ 接口(interface)

转载 作者:可可西里 更新时间:2023-11-01 10:50:09 25 4
gpt4 key购买 nike

我尝试在 prolog 中加载使用 swipl-ld 生成的 DLL 时出错抛出异常的谓词是this

initialization(shlib:use_foreign_library('C:/Users/valquiria.duarte/Desktop/dlog-server-0.3-beta-source/dlog-server/output/hash_swi.dll', install)),

这个异常(exception)

ERROR: '$open_shared_object'/3: %1 is not a valid Win32 application.

最佳答案

根据 this note at ComputerHope , Windows 可能会在文件丢失(或损坏)时报告此错误。似乎在调用 use_foreign_library 时已完全指定文件路径,但值得仔细检查 DLL 所在的路径是否正确。

您报告错误消息的参数形式似乎有点奇怪,其中 %1 是实际文件名的占位符。如果这就是错误在您的计算机上出现的方式,则表明在异常详细信息被抛出到处理程序链上时无法解析异常详细信息。

如果消息确实包含实际路径和文件名,那么您应该确认它们的准确性以及给定路径上文件的存在。您似乎已经正确调用了 use-foreign_library 使用 SWI-Prolog 的首选语法在文件路径中使用正斜杠来分隔目录。然而,产生错误的是 Window 的操作系统(更具体地说是 dlopen() 的系统相关实现),并且我希望生成的错误消息包含包含反斜杠的文件路径和文件名。

关于c++ - SWI-Prolog C++ 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7014553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com