odcctools 包为 Darwin 操作系统提供 binutils。 -- 例如,这允许您交叉编译到 Darwin 和 OSX。但是,odcctools 似乎无法在 64 位操作系统上正确构建:
./../expr.c: In function ‘expression’:
./../expr.c:311: error: ‘union <anonymous>’ has no member named ‘n_name’
或者,如果您将 CFLAGS 设置为
-m32
,您会得到:/usr/bin/ld: skipping incompatible ../libstuff/libstuff.a when searching for -lstuff
/usr/bin/ld: cannot find -lstuff
你如何在 64 位操作系统上构建它?
最佳答案
odcctools makeflags 的设置方式,您不能使用 CFLAGS——您必须同时设置 CC 和 CXX:
CC="gcc -m32" CXX="g++ -m32" ./configure blah blah blah
请注意,我必须向我的 CXX 添加一个
-fpermissive
才能使其运行,但这可能不是必需的!此外,您可能对 this post 感兴趣(尽管它对我的设置来说还不够)。
(如果有人有更好的方法来做到这一点,请告诉我!)
关于iphone - 在 64 位操作系统中构建 odcctools,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3024255/