有没有办法在不包含 gcc 的情况下在 linux 中安装 clang multilib?
Is there a way to install clang multilib in linux, without gcc included?
我想在 x86_64 上使用 clang 构建一个程序并将程序生成到 x86。到目前为止一切顺利,我只是使用了这个命令:
$ clang++ -m32 main.cpp
但是,我遇到了一些关于 headers 和库的错误。
与 gcc 相同的情况,将由 gcc-mutilib 修复,但 clang 没有一些 multilib 包。
如果我安装gcc-multilib,那么我可以用clang -m32来做,不过,我只想安装clang,不包括gcc包。
也许您需要的只是 libc6-dev:i386。
xy deng 的回答是对的。如果你在 x86 主机上编译 x86 程序,你只需要 运行
sudo apt-get install libc6-dev
但是如果您在 x86_64 主机上并且想要将程序交叉编译为 x86,请不要尝试安装 libc6-dev:i386
。您需要专门标记为交叉编译的 Apt 包:
sudo apt-get install libc6-dev-i386-cross
This AskUbuntu answer 有更多关于 Ubuntu 和 Apt 如何组织这些头文件进行交叉编译的信息。
我想在 x86_64 上使用 clang 构建一个程序并将程序生成到 x86。到目前为止一切顺利,我只是使用了这个命令:
$ clang++ -m32 main.cpp
但是,我遇到了一些关于 headers 和库的错误。
与 gcc 相同的情况,将由 gcc-mutilib 修复,但 clang 没有一些 multilib 包。
如果我安装gcc-multilib,那么我可以用clang -m32来做,不过,我只想安装clang,不包括gcc包。
也许您需要的只是 libc6-dev:i386。
xy deng 的回答是对的。如果你在 x86 主机上编译 x86 程序,你只需要 运行
sudo apt-get install libc6-dev
但是如果您在 x86_64 主机上并且想要将程序交叉编译为 x86,请不要尝试安装 libc6-dev:i386
。您需要专门标记为交叉编译的 Apt 包:
sudo apt-get install libc6-dev-i386-cross
This AskUbuntu answer 有更多关于 Ubuntu 和 Apt 如何组织这些头文件进行交叉编译的信息。