gpt4 book ai didi

linux - 交叉编译 libSDL

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:00:30 26 4
gpt4 key购买 nike

我正在尝试为定制的、基于 debian 的 Linux 系统交叉编译 libSDL 1.2 版。我使用的工具链已经正确配置,因此我只需在所需代码上运行 gcc/g++,生成的输出与目标机器兼容。

当我在 libSDL 源目录中运行 ./configure --help 时,我发现我基本上可以设置一些环境变量以指向我的交叉编译器。

但是,我还看到了以下选项:

System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]

我查看了 configure.inbuild-scripts/config.subbuild-scripts/config.guess 文件,但是无法真正弄清楚它是如何工作的。

这些选项是必需的吗?如果不是,使用它们是个好主意吗?

最佳答案

对于 autotools,--build 是您正在构建的内容,--host 是您希望它运行的内容(还有 --target ,但这仅在您正在编译的内容本身就是一个编译器时才重要)。 Autotools 通常会自行计算出 --build,所以如果不需要,请不要指定它(但查看 /usr/lib/gcc 以看看你的编译器可能认为 --build 应该是什么)

因此,例如,如果您在 x86_64 上构建 i686,请执行

./configure --host=i686-linux-gnu 

(并在 CFLAGS 等中使用 -m32 选项,但听起来您已经准备好了。)

而如果您在 i686 上构建 x86_64,则执行

./configure --host=x86_64-linux-gnu

(您可以为各种疯狂的主机构建:rs6000-ibm-aix、sparc-sun-solaris、mips-idt-ecoff 等...,假设您安装了适当的 gcc 交叉编译器... )

GNU 的页面在这里:

http://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html

关于linux - 交叉编译 libSDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20708365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com