Ubuntu 22.04用PublishAOT编译C#原生库遇ld.bfd找不到-lz错误
解决Ubuntu 22.04.3 LTS下C# AOT编译缺失-lz库的问题
你遇到的ld.bfd: cannot find -lz: No such file or directory错误,根源是系统缺少zlib压缩库的开发依赖包——Ubuntu 22.04.3 LTS默认未预装该组件,而Ubuntu 20.04可能已包含或你之前手动安装过。
解决步骤:
- 安装zlib开发包,执行命令:
sudo apt update && sudo apt install zlib1g-dev - 验证安装:在/usr/bin目录下执行
ld.bfd -lz,此时应仅出现找不到_start入口符号的警告,而非库缺失错误,说明安装成功。 - 重新运行AOT编译命令:
dotnet publish -r linux-x64 -c Release -p:PublishAot=true
注:Ubuntu不同版本的默认依赖预装策略有差异,22.04相比20.04精简了部分编译类依赖,因此需要手动补装这类开发库。
内容的提问来源于stack exchange,提问作者user2384330
相关产品推荐
相关产品推荐

