| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: 补充 cstdint 头文件包含以适配 GCC 15 编译 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !694 merge master into master fix: 补充 cstdint 头文件包含以适配 GCC 15 编译 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 GCC 15 收紧了对隐式头文件包含的容忍度(libstdc++ 移除了大量传递性 include),导致 opbase 仓中使用了 uint32_t/uint64_t/int64_t 等整型却未显式包含 <cstdint> 的头文件报错,编译失败。 本次改动在两个基础头文件顶部新增 #include <cstdint>,单点修复即可消除整片级联报错: | 文件 | 修改 | 作用 | |------|------|------| | pkg_inc/op_common/aicpu_common/context/common/cpu_types.h | +#include <cstdint> | aicpu context 基础头,修复 cpu_tensor.h、cpu_attr_value.h、cpu_context.h、bcast.h、eigen_tensor.h 等整片级联报错 | | src/nnopbase/common/inc/file_utils.h | +#include <cstdint> | GetBinFromFile 声明使用 uint32_t,修复 nnopbase 目标编译失败 | > 注:三方件 abseil-cpp 的 container_memory.h 同类问题位于 third_party/(gitignore 忽略的第三方缓存),不在本次推送范围,建议后续以 patch 形式固化。 ## 关联的Issue - #293 ## 测试 - 环境:aarch64(40 核),GCC 15.2.0(Ubuntu 15.2.0-14ubuntu1~24~ppa1),Ascend CANN 9.0.0 - 编译命令:CC=gcc-15 CXX=g++-15 bash build.sh --pkg -j32 - 结果:修复后编译成功,完整构建 opbase 运行包 build_out/cann-opbase_9.0.0_linux-aarch64.run(约 9.4 MB) ## 文档更新 无。GCC 15 编译验证报告仅保留本地,不纳入版本管理。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!694 | 1 个月前 |