J'essaye de construire un binaire universel sur MacOSX avec g ++. Cependant, cela ne fonctionne pas vraiment. J'ai essayé avec ce simple code fictif:g ++ sur MacOSX ne fonctionne pas avec -arch ppc64
#include <iostream>
using namespace std;
int main() {
cout << "Hello" << endl;
}
Cela fonctionne très bien:
% g++ test.cpp -arch i386 -arch ppc -arch x86_64 -o test
% file test
test: Mach-O universal binary with 3 architectures
test (for architecture i386): Mach-O executable i386
test (for architecture ppc7400): Mach-O executable ppc
test (for architecture x86_64): Mach-O 64-bit executable x86_64
Cependant, cela ne signifie pas:
% g++ test.cpp -arch i386 -arch ppc -arch x86_64 -arch ppc64 -o test
In file included from test.cpp:1:
/usr/include/c++/4.2.1/iostream:44:28: error: bits/c++config.h: No such file or directory
In file included from /usr/include/c++/4.2.1/ios:43,
from /usr/include/c++/4.2.1/ostream:45,
from /usr/include/c++/4.2.1/iostream:45,
from test.cpp:1:
/usr/include/c++/4.2.1/iosfwd:45:29: error: bits/c++locale.h: No such file or directory
/usr/include/c++/4.2.1/iosfwd:46:25: error: bits/c++io.h: No such file or directory
In file included from /usr/include/c++/4.2.1/bits/ios_base.h:45,
from /usr/include/c++/4.2.1/ios:48,
from /usr/include/c++/4.2.1/ostream:45,
from /usr/include/c++/4.2.1/iostream:45,
from test.cpp:1:
/usr/include/c++/4.2.1/ext/atomicity.h:39:23: error: bits/gthr.h: No such file or directory
/usr/include/c++/4.2.1/ext/atomicity.h:40:30: error: bits/atomic_word.h: No such file or directory
...
Toute idée pourquoi?
Je suis sur MacOSX 10.6. J'ai installé Xcode 3.2.2 avec tous les SDK qu'il contient. GCC 4.2 est la valeur par défaut. GCC 4.0 produit des erreurs différentes, mais se comporte de manière similaire.
Apparemment, Apple n'a pas pris la peine de mettre à jour la page de manuel gcc. – WhirlWind
Eh bien, ce n'est pas vraiment un problème du CCG. c'est qu'il n'y a pas ppc64 dans le MacOSX10.6.sdk, pas que GCC ne supporte pas ppc64. gcc * DOES * supporte toujours ppc64. Il n'y a juste pas de runtime C++ avec le support de ppc64 dans le 10.6 sdk. –
Cool, merci pour ça! Cette commande fonctionne. Comment cela ressemblerait-il au SDK 10.4? Parce que je ne peux pas le faire fonctionner. – Albert