Autoconf x86 交叉编译

Autoconf x86 cross-compiling

AutoConf 有 --host 选项来指定文件 运行 所在的体系结构。但是,如果我指定 --host=i686-linux-gnu,则不会向 gcc 编译器添加任何选项 -m32。我对 AutoConf 有什么误解?因为在这种情况下,如果我在 64 位机器上编译我的程序,它不会在主机上 运行。

传递 --host=i686-linux-gnu 将导致 autoconf 查找和使用 i686-linux-gnu-gcc 等,而不是 gcc。预计这将是一个生成 32 位二进制文​​件的交叉工具链。如果你不想使用交叉工具链而只是 -m32,你应该只传递 CC="gcc -m32"(如果程序使用 C++,则传递 CXX="g++ -m32")来配置。