AutoConf具有--host
选项,用于指定将在其上运行文件的体系结构。但是,如果指定--host=i686-linux-gnu
,则不会向-m32
编译器添加选项gcc
。我对AutoConf的理解有何误解?因为在这种情况下,如果我在64位计算机上编译程序,则该程序将无法在主机上运行。
传递--host=i686-linux-gnu
将导致autoconf查找并使用i686-linux-gnu-gcc
等而不是gcc
。预计这将是生成32位二进制文件的跨工具链。如果您不想使用跨工具链,而只是使用-m32
,则只需传递CC="gcc -m32"
(如果程序使用C ++,则传递CXX="g++ -m32"
)进行配置。