【发布时间】:2015-12-22 09:04:04
【问题描述】:
当我使用 GCC 时,我可以使用这个在我的 Ubuntu 15.04 上构建程序:
-static-libgcc -static-libstdc++
编译后的二进制文件可以在“库存”Ubuntu 14.04 上运行,无需任何外部软件包,只有标准更新。
是否有可能使用 clang 使用此静态链接到库进行构建?
最常见的答案:
- 使用测试 ubuntu 代表 (
ppa:ubuntu-toolchain-r/test) - 更新服务器
- 在目标服务器上重新编译
- 不要使用 GCC
不适合我。
我可以在 Ubuntu 14.04.3 LTS 上使用 clang 执行此操作吗?
【问题讨论】:
-
这不行吗?
-static -lstdc++ -
@Ashkan 不,很遗憾。
-
@vladon Options
-static-libgcc -static-libstdc++与 clang++ 3.6 配合得很好。 -
@Danh 像 hello world 这样的简单程序也可以为我编译,但对于大型程序有警告:
clang: warning: argument unused during compilation: '-static-libgcc'和clang: warning: argument unused during compilation: '-static-libstdc++' -
@vladon 有链接标志,而不是编译,因此会出现警告。
标签: c++ ubuntu clang static-linking libstdc++