2

描述:

我已经按照Swift3Perfect2的安装步骤, 克隆了Perfect 提出的PerfectTemplate测试项目,我已经尝试过swift build

错误信息:

警告:建议的最低 clang 版本为 3.6,否则您可能会遇到链接器错误。链接 ./.build/debug/PerfectTemplate /usr/bin/ld:找不到 -lstdc++ clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用):0:错误:链接命令失败,退出代码1(使用-v查看调用):0:错误:构建有1个命令失败错误:退出(1):/etc/swift301/usr/bin/swift-build-tool -f /home/XXXX/ClionProjects/PerfectTemplate /.build/debug.yaml

我试过的:

我已经解决了不同的 SO 问题,这些问题看起来很相似,但都在不同的项目上,并试图尝试他们的解决方案,但没有运气:

例如:

Matlab Kalman /usr/bin/ld:找不到-lstdc++

我还注意到来自 clang 版本的警告,我知道我当前的版本是 3.4,但这是通过sudo apt-get install clang文档中提到的安装的。

我还尝试使用以下命令安装 3.6 版本的 clang:sudo apt-get install clang-3.n

但是,当我swift build再次尝试后,我收到以下错误:

错误:推断的工具链无效:找不到clang

问题:

如何摆脱/usr/bin/ld: cannot find -lstdc++错误,以便构建 PerfectTemplate 项目?

4

3 回答 3

8

尝试这个。它可能不起作用,但值得一试。

更新包和依赖项:

sudo apt-get update

然后安装clang 3.6:

sudo apt-get install clang-3.6
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.6 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 100

我希望这会有所帮助,但如果没有,请道歉。祝你好运!


如果出现此错误:

/usr/bin/ld.gold:错误:无法打开 /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../libstdc++.‌​so:没有这样文件或目录

符号链接很可能libstdc++.so指向一个不存在的文件。

就我而言,它指向:

/usr/lib/libstdc++.so -> /usr/lib/libstdc++.so.6

这是不正确的,因为libstdc++.so.6该区域不存在。只需通过以下方式找到它的位置:sudo find / -name libstdc++.so.6这给了我:

/usr/lib/x86_64-linux-gnu/libstdc++.so.6

然后使用以下命令重新创建链接:

sudo rm /usr/lib/libstdc++.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so
于 2016-11-27T10:05:21.943 回答
3
sudo apt-get install build-essential
于 2019-06-26T14:01:21.110 回答
1

我遇到了同样的问题,更新替代方案对我没有帮助,但是之后

sudo apt-get update && sudo apt-get upgrade

快速构建成功运行。看起来某些依赖项已被弃用。

于 2017-01-30T17:29:08.813 回答