gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 20:35:54 26 4
gpt4 key购买 nike

跟进this question关于包含源文件。我包括一个 Chapel 模块,其中包含一个名为 classes.chpl 的文件。 ,但我当前的项目也有一个 classes.chpl 。正确的消歧模式是什么?当我这样做时

chpl -M/path/src

它注意到冲突,然后选择 classes.chpl在当前目录中。我应该像 this page 那样编译导出模块吗?或者还有其他模式。

==更新==

目录结构如下

projA/alpha.chpl
/classes.chpl

projB/beta.chpl
/classes.chpl

其中每个项目取决于各自 classes.chpl 中的类文件。尝试编译projA我目前正在使用

chpl alpha.chpl -M../projB/

但这会导致冲突,因为它尝试使用 projA/classes.cphl对于 beta.chpl 中的类(class)和alpha.chpl .

最佳答案

module search paths 中所述技术说明,Chapel 编译器按以下顺序搜索用户模块:

  1. 查看命令行上指定的 .chpl 文件
  2. 查看包含命令行指定文件的目录中的其他 .chpl 文件
  3. 查看通过 -M 选项或 CHPL_MODULE_PATH 环境变量指定的路径中的 .chpl 文件

由于编译器使用规则2从项目目录中找到classes.chpl,而使用规则3只找到/path/src/classes.chpl,因此选择项目目录中的一个。要让它选择 /path/src/classes.chpl,您可以在命令行上指定它,以便通过规则 1 找到它。

chpl mainModule.chpl/path/src/classes.chpl

关于chapel - 消除 Chapel 构建中源文件的歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47402515/

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