macos - 如何在 OS X 上构建 fat gcc46 libstdc++?

标签 macos gcc build libstdc++ fat

我已经在我的 OS X 机器上成功构建并安装了 gcc 4.6.1,但我似乎无法让它为我创建一个胖/通用 libstdc++ 库。我如何让它这样做?

默认的/usr/lib/libstdc++.6.dylib支持以下架构:

[host:~] nsteiner% file /usr/lib/libstdc++.6.dylib
/usr/lib/libstdc++.6.dylib: Mach-O universal binary with 3 architectures
/usr/lib/libstdc++.6.dylib (for architecture i386):     Mach-O dynamically linked shared library i386
/usr/lib/libstdc++.6.dylib (for architecture ppc7400):  Mach-O dynamically linked shared library ppc
/usr/lib/libstdc++.6.dylib (for architecture x86_64):   Mach-O 64-bit dynamically linked shared library x86_64

我希望 gcc 为那些相同的架构提供/usr/local/lib/libstdc++.6.dylib,但我尝试使用 --enable-multilib 来configure --with-multilib-list=i386,ppc,x86_64--enable-targets=all 显然被误导了。 configuremake 都不会产生错误,但所有生成的都是这样的:

[host:~] nsteiner% file /usr/local/lib/libstdc++.6.dylib
/usr/local/lib/libstdc++.6.dylib: Mach-O 64-bit dynamically linked shared library x86_64

最佳答案

只有 Apple 的 GCC 4.2.1 仍然支持胖二进制文件。您将不得不采取额外的手动步骤(或提供非常好的包装器脚本)来编译所有源代码两次,并在生成的二进制文件上运行 lipo。

关于macos - 如何在 OS X 上构建 fat gcc46 libstdc++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082196/

相关文章:

swift - OS X Hello World Swift 教程

ruby - 如何在 OSX Lion 上安装(构建)Ruby 1.9.3?

c++ - 如何在mingw中启用异常处理

android - 如何加快我的项目中 android studio 的构建时间

MySQL:可选地包含在 '"' 中断 INTO OUTFILE 变量名

更改默认 C 编译器输出

c++ - gcc 优化导致应用程序失败

c - OpenGL 项目存在 Codeblocks 编译问题

java - Gradle依赖问题,java.lang.NoClassDefFoundError,但是编译通过

php - 看到实时变化之间的 MAMP 时间