x86_64平台Clang编译_Float16半精度浮点数遇链接错误求助
解决x86_64平台Clang编译_Float16时链接
__extendhfsf2缺失的问题 问题根源
__extendhfsf2是实现半精度浮点数(_Float16)转单精度浮点数的底层支持函数,属于LLVM的compiler-rt运行时库。x86_64架构没有原生半精度浮点指令,必须依赖该库提供的软件模拟实现,但Clang默认编译时不会自动链接这个库,导致链接阶段报错。
解决方法
方法1:手动链接compiler-rt库
编译命令中添加-lcompiler_rt参数:
clang-17 accum.c -o accum -lcompiler_rt
方法2:指定使用compiler-rt作为运行时库
用-rtlib=compiler-rt参数让Clang自动关联所需运行时组件:
clang-17 accum.c -o accum -rtlib=compiler-rt
额外处理:安装缺失的库
如果执行上述命令仍报错,大概率是系统未安装compiler-rt库,Ubuntu 20.04下可通过以下命令安装:
sudo apt install libcompiler-rt17
内容的提问来源于stack exchange,提问作者Zskdan
相关产品推荐
相关产品推荐

