Linux下.NET 7 Native AOT发布报错:clang链接失败找不到-lstdc++
解决Linux下.NET 7 Native AOT编译时
cannot find -lstdc++的链接错误 这个错误是因为你的Linux系统缺少GNU C++标准库的开发包,Native AOT编译的链接阶段必须依赖该库文件。以下是针对不同Linux发行版的具体解决步骤:
1. 安装对应依赖库
根据你的系统发行版执行对应的安装命令:
Debian/Ubuntu 系列(含Mint、Pop!_OS等衍生版)
sudo apt update && sudo apt install libstdc++6 libstdc++-12-dev
注:如果是Ubuntu 20.04这类旧版本系统,把命令中的
12替换为9即可,对应系统默认的GCC版本。
RHEL/CentOS/Fedora 系列
sudo dnf install libstdc++ libstdc++-devel
老版本CentOS可将
dnf替换为yum执行。
2. 验证依赖安装状态
执行以下命令确认libstdc++库已成功安装:
ldconfig -p | grep libstdc++
若输出包含libstdc++.so.6等相关条目,说明依赖安装正确。
3. 重新执行编译命令
回到项目目录,重新运行Native AOT编译命令:
dotnet publish -r linux-x64 -c Release
如果仍出现链接问题,可检查系统是否安装完整GCC工具链(执行gcc --version确认),部分精简版系统可能仅安装了基础工具,需补充安装build-essential(Debian系)或gcc-c++(RHEL系)。
内容的提问来源于stack exchange,提问作者bydrim
相关产品推荐
相关产品推荐

