我正在使用《Certified Programming with Dependent Types》一书,但每次我都发现不同的错误。在我看来,错误来自 Proof General 的编译过程与本书来源的 makefile 之间的不匹配。
- 如果我使用 make 编译源代码并尝试在 Proof-General 中运行例如 Subset.v,我会得到:
错误:文件 /home/usuario/Desktop/Coq/cpdt/src/CpdtTactics.vo 有错误的幻数 81100(预期为 8600)。它已损坏或使用其他版本的 Coq 编译。
- 如果我用 make clean 清理 makefile 编译文件并尝试继续使用选项 Coq -> Auto Compilation -> Compile before require 那么它是以下行:
需要提取。
那失败了。最初它因错误而失败:
错误:无法找到库提取。
但是使用上面的选项启用它会给出类似的东西:
回声“需要提取。” > /tmp/ProofGeneral-coqQPJTf0.v coqdep -Q /home/usuario/Desktop/Coq/cpdt/src/ -R /home/usuario/Desktop/Coq/cpdt/src Cpdt /tmp/ProofGeneral-coqQPJTf0.v * 警告: 在文件/tmp/ProofGeneral-coqQPJTf0.v 中,库提取是必需的,并且在加载路径中没有找到!*警告:在文件 /tmp/ProofGeneral-coqQPJTf0.v 中,库提取是必需的,并且在加载路径中没有找到!/tmp/ProofGeneral-coqQPJTf0.vo /tmp/ProofGeneral-coqQPJTf0.glob /tmp/ProofGeneral-coqQPJTf0.v.beautified:/tmp/ProofGeneral-coqQPJTf0.v /tmp/ProofGeneral-coqQPJTf0.vio:/tmp/ProofGeneral-coqQPJTf0 .v
我该如何解决这个问题?