Host Clang must be able to find libstdc++4.7 or newer!

这个问题的出现是我在用LLVM开发自己的编译后端时遇到的。当手抖敲了rm -rf * 后,导致配置好的环境被破坏,在试图还原时升级了gcc版本。后来再用LLVM时就出现了该问题。问题具体是出在当把自己的后端加入LLVM后进行编译时,即运行:cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD=Cpu0 -G "Unix Makefiles" ../llvmsdic/

       先是出现下图所示的错误:既然找不到libstdc++。那么我就自动的把它加上,我以为是因为gcc的升级导致了动态链接库的中断。我用centos7,最早的gcc版本是系统自带的4.8.2,后来想还原资料时用yum 升级成了4.8.5。所以出现了图一的错误后我手动在/usr/lib64添加了libstdc++.so,之后出现了图2的错误。我以为还是gcc的版本问题,于是用安装包手动升级成了5.5.0的。装完之后又把动态链接库按照这个动态库配置进行配置了。但是出现同样的问题,不手动把libstdc++.so添加在/usr/lib64/下面,就会出现图一的错误,添加了则会出现图二的错误。



    其实问题的解决很简单,在图一就提示了是在4.8.5的路径下找不到-lstdc++。而此时我已经把gcc版本升级成了5.5.0。按道理不应该会再使用4.8.5的文件了。于是我直接把4.8.5的文件夹给删除了,后来竟然就可以了,简直晕死,白弄了四五天。但是还有一个问题就是之前我还没升级到5.5.0的时候也有这些错误,这时使用的是gcc的4.8.5版本,此时错误如何解决我就不太清楚了。

    所以其实我是并不是针对标题所提的错误进行解决,而是在出现该问题前的其他环节解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值