首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消除Chapel构建中的源文件歧义

消除Chapel构建中的源文件歧义
EN

Stack Overflow用户
提问于 2017-11-20 22:55:43
回答 1查看 34关注 0票数 3

跟踪这个问题关于包含源文件的内容。我包括一个教堂式模块,其中包含一个名为classes.chpl的文件,但我当前的项目也有一个classes.chpl。正确的消歧模式是什么?当我这么做

代码语言:javascript
复制
chpl -M/path/src

它注意到冲突,然后在当前目录中选择classes.chpl。我应该像在此页中那样编译用于导出的模块,还是有另一个模式。

==更新==

目录结构如下所示

代码语言:javascript
复制
projA/alpha.chpl
     /classes.chpl

projB/beta.chpl
     /classes.chpl

每个项目依赖于各自classes.chpl文件中的类。试图编译我目前正在使用的projA

代码语言:javascript
复制
chpl alpha.chpl -M../projB/

但这会导致冲突,因为它试图将projA/classes.cphl用于beta.chplalpha.chpl中的类。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-20 23:25:11

正如模块搜索路径技术说明中所描述的那样,教堂编译器按照以下顺序搜索用户模块:

  1. 查看命令行上指定的.chpl文件
  2. 查看包含命令行上指定文件的目录中的其他.chpl文件
  3. 查看通过.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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47402515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档