Как собрать толстый gcc46 libstdc ++ на OS X? - PullRequest
3 голосов
/ 10 ноября 2011

Я успешно собрал и установил gcc 4.6.1 на свой компьютер с OS X, но я не могу заставить его создать толстую / универсальную библиотеку 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 для тех же архитектур, но мои попытки configure с --enable-multilib или --with-multilib-list=i386,ppc,x86_64 или --enable-targets=all были явно ошибочными.Ни configure, ни make не генерируют ошибок, но генерируется только следующее:

[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

1 Ответ

2 голосов
/ 10 ноября 2011

Только Apple GCC 4.2.1 по-прежнему поддерживает толстые двоичные файлы.Вам придется предпринять дополнительные шаги вручную (или предоставить чертовски хорошие сценарии обертки), чтобы дважды скомпилировать все исходные коды и запустить lipo для получающихся двоичных файлов.

...