2009-09-30 14 views
5

¿Alguien puede explicar por qué obtengo resultados diferentes al compilar el mismo proyecto XCode 4.x usando la GUI y la línea de comandos de xcodebuild?¿Por qué obtener diferencias entre usar XCode y xcodebuild?

XCode GUI

  1. Realizar una limpieza
  2. Construir "Release" objetivo
  3. construir con éxito

xcodebuild

  1. Realizar una limpieza
  2. Ejecutar "xcodebuild -Configuración Release"
  3. Los resultados en los siguientes errores:

    /Developer/usr/bin/gcc-4.0 -x Objective-C -arch i386 -fmessage- length = 0 -pipe -std = gnu99 -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -Wreturn-type -Wunused-variable -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fvisibility = hidden -mmacosx- version-min = 10.4 -c "/Users/XXX/Extensions/NSFileManager_Extensions.m" -o "/Users/XXX/Developer/Intermediates/YourApp.build/Release/YourApp.build/Objects-normal/ppc/NSFileManager_Extensions.o " /Users/XXX/Extensions/NSFileManager_Extensions.m:15:60: error: ToxicRegularExpressions/ToxicReg ularExpressions.h: No existe el fichero o directorio ** ** compilación falló

Los siguientes comandos construir fallado: CompileC "/Users/XXX/Developer/Intermediates/YourApp.build/Release/YourApp.build /Objects-normal/ppc/NSFileManager_Extensions.o" Objective-C /Users/XXX/Extensions/NSFileManager_Extensions.m ppc normales com.apple.compilers.gcc.4_0

Y finalmente GUI + xcodebuild

  1. por formar una interfaz gráfica de usuario limpia en
  2. Construir "Release" objetivo
  3. genera con éxito
  4. Ejecutar "xcodebuild -Configuración Release"
  5. genera con éxito

Respuesta

2

Trate de pasar el SDK en la línea de comandos, al igual que :

xcodebuild -configuration Release -sdk iphonesimulator3.0 
+0

Lo siento, estaba equivocado. El problema NO se resolvió agregando la opción -sdk –

0

¿Tiene más de una versión de XCode instalada? Si es así, esta respuesta a una pregunta relacionada podría resolver su problema: https://stackoverflow.com/a/11129067/567039

+0

Solo se instaló una versión de XCode –

0

Especificar el esquema se quiere construir con -scheme. Sin él, xcodebuild puede usar el sistema de compilación "legacy" target, que es diferente. Es posible que desee compartir algunos de sus esquemas para esto al redistribuir proyectos.

Ver: Postscriptum de xcodebuild driving me nuts again with a zombie OBJROOT