Closed
[Bug-Report|缺陷反馈]: MegaMhc 静态编包编译报错 #6882
liweijian16Add on 11 days agoClosed at 11 days ago
11 days ago Added label: bug-report
11 days ago Assign liweijian16 as responsible person
周云飞
11 days ago Comments:
11 days ago Comments:
您好,感谢反馈!您报告的是 Ascend 950 上 MegaMhc 静态编包失败:资源位于 MegaMhcl0op 命名空间,而静态编包宏从 l0op 查找,出现五个资源符号缺失,并伴随 std::map 编译错误。
如果宏展开后的引用确实与资源声明所在的命名空间不一致,就会导致编译器无法找到对应符号。建议优先定位最早出现的资源符号错误;后续 std::map 报错可能是初始化表达式中的符号无法解析引发的连带错误,不宜先按容器本身的问题处理。目前提供的源码片段尚未包含 MegaMhc 的资源声明和静态编包宏定义,因此具体根因仍需结合这两处确认。
一个可行的处理方向是让静态编包时的资源引用与实际声明保持一致。具体是调整 MegaMhc 的资源命名空间,还是在宏支持的范围内适配资源引用,需要同时考虑现有调用和其他编包模式,避免直接全局替换命名空间引入冲突。
请补充所用 CANN 版本、仓库分支或提交号、完整的静态编包命令,以及从首个资源符号错误开始的文本日志。这些信息可用于确认宏的适用版本、五个缺失符号及其引用位置,进一步判断最小修改范围。


11 days ago Close issue
11 days ago Added label: resolved
Describe the current behavior / 问题描述 (Mandatory / 必填)
MegaMhc 使用了 MegaMhcl0op 命名空间,但 CANN 静态编包宏固定从 l0op 查找资源,导致五个资源符号缺失,随后触发 std::map 连带报错
Environment Information / 环境信息 (Mandatory / 必填)
Ascend 950
Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)
静态模式编译
Describe the expected behavior / 预期结果 (Mandatory / 必填)
编译成功
Related log / screenshot / 日志 / 截图 (Mandatory / 必填)
Special notes for this issue/备注 (Optional / 选填)