xin*_*_yu 5 macos macports gcc4
由于Apple不支持GCC 4.6或GCC 4.7,我刚刚切换到MacPorts的GCC 4.6/4.7版本.但是,我在"通用"架构中构建代码时遇到了问题.
传统上,我会g++ -arch i386 -arch x86_64 ...为至少i386/x86_64架构编译我的二进制文件.我做了一些搜索,并意识到-arch选项只有apple的编译器支持.所以当然它不适用于Macports.我能做的最好的事情是使用-m32/ -m64options来指定我想要的架构.但是,这只会生成i386或x86_64格式的二进制文件.我真正想要的是在两个架构(Universal)中获得二进制文件,就像使用原始GCC编译器一样.
这是不支持还是已知问题?我已经尝试了整晚在Google上寻找答案,但我没有得到任何有用的东西.所以我只是开始怀疑我是否是唯一有这个问题的人,而且我错过了让它发挥作用的重要事项?真的很感激,如果有人能给我一些建议.
BTW.我已经安装了gcc46 +universal变体,但除了为每个体系结构编译单独的二进制文件之外,它并没有产生任何真正的通用.
兴.
哦,我刚刚遇到这个问题,花了相当多的时间.事实证明,GCC 4.2.1的苹果版本实际上只是一个包装器,它尊重一些标志(特别是-arch标志),然后使用lipo将目标文件粘在一起形成一个胖对象.我稍微修改了这个驱动程序,以便在保持-arch标志的同时包装macports GCC并生成多个arch目标文件(无论如何都是32位和64位intel).
我刚刚发布了一篇关于如何做到这一点的相当广泛的文章:
http://thecoderslife.blogspot.com/2015/07/building-with-gcc-46-and-xcode-4.html
| 归档时间: |
|
| 查看次数: |
992 次 |
| 最近记录: |