Dado que Apple no es compatible con GCC 4.6 o GCC 4.7, acabo de cambiar a la compilación de MacPorts de GCC 4.6/4.7. Sin embargo, tuve un problema para construir mi código en la arquitectura "Universal".¿Puedo compilar el código universal usando el GCC de Macports?
Tradicionalmente, haría g++ -arch i386 -arch x86_64 ...
para compilar mi binario para al menos arquitectura i386/x86_64. Hice una búsqueda y me di cuenta de que la opción de búsqueda solo es compatible con los compiladores de Apple. Así que, por supuesto, no funcionó con Macports '. Lo mejor que puedo hacer es usar las opciones -m32
/-m64
para especificar una arquitectura que quiero. Sin embargo, esto solo producirá un formato binario en formato i386 o x86_64. Lo que realmente quiero es obtener un archivo binario en ambas arquitecturas (Universal) tal como se hizo con los compiladores originales de GCC.
¿Esto no es compatible o es un problema conocido? He intentado toda la noche buscando respuestas en Google, pero no he obtenido nada útil. Entonces, ¿empiezo a dudar si soy el único que tiene este problema y me he perdido algo realmente importante para que funcione? Realmente aprecio si alguien puede darme algunas sugerencias.
BTW. He instalado las variantes gcc46 +universal
, pero no produjo nada realmente universal excepto la compilación de binarios separados para cada arquitectura.
Xing.
Gracias que trabaja. No sabía que había lipo, creo que todo lo que realmente necesito es lipo. Necesito cambiar algunos de mis Makefiles para detener las banderas de arco y usar lipo para producir código universal ahora :) –