thw*_*hwd 6 64bit 32bit cross-compilation configure
我正在尝试在 x86_64 Ubuntu 11.04 上为 i386(32 位)构建 PHP 内存缓存扩展(v2.2.6)。
./configure
默认情况下使用 config.guess(x86_64-unknown-linux-gnu
在我的系统上输出),但我想覆盖它。
我将如何继续?
交叉编译需要两件东西:一个可以为目标架构生成代码的编译器,以及用于目标架构的静态库 ( *.a
)。至少安装libc6-dev-i386
包,可能还有其他
lib32.*-dev
包。在libc6-dev-i386
还拉动在所需的交叉编译了gcc的部件gcc-multilib
包 . 然后通过将
-m32
标志传递给CFLAGS
变量来告诉 gcc 为 i386 编译。
sudo apt-get install libc6-dev-i386 lib32ncurses5-dev … # whatever 32-bit libraries you need
export CFLAGS='-m32'
./configure …
Run Code Online (Sandbox Code Playgroud)
如果您没有找到所需的所有库,在chroot 中安装 32 位 Ubuntu 可能会更容易。Ubuntu 提供dchroot 来自Debian buildd project,这使得运行 chroot 系统变得容易。使用debootstrap
执行安装。Ubuntu 论坛上有一个看起来很合理的dchroot 教程。
归档时间: |
|
查看次数: |
7235 次 |
最近记录: |