Module 如何编译目录中的模块(名称中带有点的aka)

Module 如何编译目录中的模块(名称中带有点的aka),module,coq,Module,Coq,我想导入一个模块作为 需要导入Foo.Bar。 假设我在目录Foo中有一个文件Bar.v 我目前正在使用以下工具编译此模块: $coqc Foo/Bar.v 当我尝试要求导入Foo.Bar.时,我遇到以下错误: 错误:文件Foo/Bar.vo包含库栏 而不是图书馆的食物吧 您可以使用-R选项执行此操作。使用coqc-R Foo Foo/Bar.v编译您的文件。-R标志有两个选项:(1)要添加到包含路径的目录,以及(2)要在模块名称空间中提供的名称 稍后,如果您有其他使用Foo.Bar的

我想导入一个模块作为


需要导入Foo.Bar。

假设我在目录
Foo
中有一个文件
Bar.v

我目前正在使用以下工具编译此模块:


$coqc Foo/Bar.v

当我尝试
要求导入Foo.Bar.
时,我遇到以下错误:


错误:文件Foo/Bar.vo包含库栏
而不是图书馆的食物吧

您可以使用
-R
选项执行此操作。使用
coqc-R Foo Foo/Bar.v
编译您的文件。
-R
标志有两个选项:(1)要添加到包含路径的目录,以及(2)要在模块名称空间中提供的名称

稍后,如果您有其他使用
Foo.Bar
的文件
Baz.v
,请使用
coqc-R Foo-Foo-Baz.v
对其进行编译

如果您有一个包含多个子目录的大型项目,可以使用
coq\u makefile
,也可以使用顶层中的
-R
,使所有子目录的名称一劳永逸地保持一致。看看我们项目的示例,以及相应的
coq\u makefile