跟踪这个问题关于包含源文件的内容。我包括一个教堂式模块,其中包含一个名为classes.chpl的文件,但我当前的项目也有一个classes.chpl。正确的消歧模式是什么?当我这么做
chpl -M/path/src它注意到冲突,然后在当前目录中选择classes.chpl。我应该像在此页中那样编译用于导出的模块,还是有另一个模式。
==更新==
目录结构如下所示
projA/alpha.chpl
/classes.chpl
projB/beta.chpl
/classes.chpl每个项目依赖于各自classes.chpl文件中的类。试图编译我目前正在使用的projA
chpl alpha.chpl -M../projB/但这会导致冲突,因为它试图将projA/classes.cphl用于beta.chpl和alpha.chpl中的类。
发布于 2017-11-20 23:25:11
正如模块搜索路径技术说明中所描述的那样,教堂编译器按照以下顺序搜索用户模块:
.chpl文件.chpl文件.chpl选项或CHPL_MODULE_PATH环境变量指定的路径中的CHPL_MODULE_PATH文件因为编译器使用规则2从项目目录中找到classes.chpl,并且只找到带有规则3的/path/src/classes.chpl,所以它选择了项目目录中的一个。要让它选择/path/src/classes.chpl,您可以在命令行中指定它,以便使用规则1找到它。
chpl mainModule.chpl /path/src/classes.chpl
https://stackoverflow.com/questions/47402515
复制相似问题