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