gpt4 book ai didi

macos - 我可以使用 Macports 的 GCC 编译通用代码吗?

转载 作者:行者123 更新时间:2023-12-04 17:39:12 27 4
gpt4 key购买 nike

由于 Apple 不支持 GCC 4.6 或 GCC 4.7,我只是切换到 MacPorts 的 GCC 4.6/4.7 版本。但是,我在“通用”架构中构建代码时遇到了问题。

传统上,我会做 g++ -arch i386 -arch x86_64 ...至少为 i386/x86_64 架构编译我的二进制文件。我做了一些搜索,发现 -arch 选项只被苹果的编译器支持。所以当然它不适用于 Macports。我能做的最好的事情就是使用 -m32/-m64选项来指定我想要的架构。但是,这只会生成 i386 或 x86_64 格式的二进制文件。我真正想要的是在两种架构(通用)中获得一个二进制文件,就像使用原始 GCC 编译器所做的那样。

这是不支持还是已知问题?我整夜都在尝试在 Google 上寻找答案,但没有得到任何有用的信息。所以我开始怀疑我是否是唯一一个遇到这个问题的人,我是否错过了一些真正重要的事情来让它发挥作用?如果有人能给我一些建议,真的很感激。

顺便提一句。我已安装 gcc46 +universal变体,但除了为每个架构编译单独的二进制文件外,它并没有产生任何真正通用的东西。

邢。

最佳答案

哦,我刚刚遇到了这个问题,并在上​​面花费了大量时间。事实证明,苹果版的 GCC 4.2.1 实际上只是一个包装器,它遵循一些标志(特别是 -arch 标志),然后使用 lipo 将目标文件重新组合成一个胖对象。我稍微修改了这个驱动程序,以便它可以包装 macports GCC,同时仍然尊重 -arch 标志并生成多架构对象文件(无论如何,对于 32 位和 64 位英特尔)。

我刚刚发布了一篇关于如何做到这一点的相当广泛的文章:

http://thecoderslife.blogspot.com/2015/07/building-with-gcc-46-and-xcode-4.html

关于macos - 我可以使用 Macports 的 GCC 编译通用代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8498022/

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