You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04.2 LTS下Meson+clang++编译报错:ld无法找到-lstdc++

解决clang编译Meson项目时找不到-lstdc的问题

问题原因

clang++在Ubuntu环境下默认尝试链接GNU的libstdc++标准库,但系统中缺少对应的开发包,导致链接阶段报错。而gcc的c++编译器随安装过程自带了libstdc++的开发文件,因此可以正常构建。

解决方案

方案1:安装libstdc++开发包

直接安装Ubuntu系统中libstdc++的开发组件,补全缺失的库文件:

sudo apt update && sudo apt install libstdc++-dev

安装完成后重新执行你的Meson构建命令即可:

CC=clang CXX=clang++ meson setup clang-debug --buildtype=debug

方案2:切换使用LLVM的libc++标准库

如果更倾向于使用LLVM官方的libc++标准库,需要先安装对应的开发包:

sudo apt update && sudo apt install libc++-dev libc++abi-dev

然后在Meson构建时指定编译和链接参数,强制clang++使用libc++:

CC=clang CXX=clang++ meson setup clang-debug --buildtype=debug \
  -Dcpp_args="-stdlib=libc++" \
  -Dcpp_link_args="-stdlib=libc++ -lc++abi"

验证clang++的标准库配置

可以通过以下命令查看clang++当前默认使用的标准库:

clang++ -v -c dummy.cpp

在输出的#include <...> search starts here部分,可以看到默认的标准库路径,确认是libstdc++还是libc++。

内容的提问来源于stack exchange,提问作者hetepeperfan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 09:57:05