Hexagon Halide Tools 2.3编译报错:ld无法找到-lc++abi问题求助
你遇到的cannot find -lc++abi错误是因为链接器在搜索路径中找不到无版本号后缀的libc++abi.so开发链接文件,你当前系统里的libc++abi.so.1、libc++abi.so.1.0是运行时库,仅用于程序运行阶段,编译链接时需要无后缀的.so文件作为引导。
可通过以下任意一种方法解决:
- 方法1:安装对应开发包(适用于Debian/Ubuntu系列发行版)
直接安装libc和libcabi的开发包,安装完成后会自动创建无版本号的软链接,执行命令:sudo apt install libc++-dev libc++abi-dev - 方法2:手动创建软链接
如果你不想额外安装包,可以直接给已有的运行时库创建链接文件,执行命令:# 针对x86_64架构的通用版本 sudo ln -s /usr/lib/x86_64-linux-gnu/libc++abi.so.1 /usr/lib/x86_64-linux-gnu/libc++abi.so # 如果你需要使用llvm-10配套的版本,替换为以下命令 # sudo ln -s /usr/lib/llvm-10/lib/libc++abi.so.1 /usr/lib/llvm-10/lib/libc++abi.so - 方法3:临时指定链接搜索路径
执行make run时主动添加你已找到的库路径到链接参数中,无需修改系统配置:make run LDFLAGS="-L/usr/lib/x86_64-linux-gnu -L/usr/lib/llvm-10/lib"
如果执行上述操作后仍有报错,建议检查你当前使用的clang版本和libc++abi的版本是否匹配,版本差异过大可能会引发兼容问题。
内容的提问来源于stack exchange,提问作者Yaoshen
相关产品推荐
相关产品推荐

