2011-01-18 27 views
37

Mientras solía compilar un único archivo fuente con Cmd + K en versiones anteriores de Xcode, ¿cómo se hace lo mismo en Xcode 4? (Tenga en cuenta que esto es diferente de preprocesar o mostrar el desensamblaje del archivo.) Si se propone compilar desde una línea de comando, debe ser tal que las configuraciones del proyecto, que incluyen rutas, definiciones de preprocesador, etc., estén todas incluidas.¿Cómo compila un solo archivo Xcode 4?

Un ejemplo de caso de uso es cuando realizo un cambio de archivo de encabezado pero solo deseo probar el efecto del cambio con respecto a un único archivo fuente, no a todos los archivos que dependen de ese encabezado.

+0

Como parece que Apple ha eliminado por completo esta función de Xcode 4, creo que la única manera de recuperarla es crear un complemento de Xcode. Lamentablemente, la API de complemento no está documentada y Apple no ha hecho ninguna declaración sobre abrirla pronto. –

+2

tengo el mismo problema. Me gusta utilizar este tipo de cosas como un método para portar: traigo los archivos de otra plataforma y los construyo para ver dónde debo corregir los errores por archivo. – jheriko

+0

Debe aceptar la respuesta de John Stephen. – ksl

Respuesta

7

Una forma que he encontrado para hacer esto es utilizando los siguientes comandos de menú:

Product -> Generate Output -> Generate Preprocessed File 
Product -> Generate Output -> Generate Assembly File 

Esto puede no ser exactamente lo que quiere, pero va a compilar el archivo único.

+0

Estas opciones no están seleccionadas para mí, con xcode 4.6.3. –

+1

Seleccione primero un archivo – Haroon

+0

Ninguna opción de menú en Xcode 5. Decepcionante. – Pang

-2

Si el archivo es C (o C++) de archivos, a continuación, basta con abrir su terminal, vaya a la carpeta en la que reside el archivo y el tipo

gcc -o outputFile inputFile.c 

No estoy familiarizado con Objective-C que mucho, pero GCC podría funcionar ya que es solo un superconjunto de C, al igual que C++.

la esperanza de que era muy útil :)

+0

No es realmente lo que pidió y sí, gcc puede compilarlo siempre que se compile el soporte objetivo C y se proporcionen las bibliotecas necesarias. – AoeAoe

-3

El requisito común para la compilación de una sola fila es comprobar posibles errores de sintaxis. (al menos para mi). Dado que xcode4 resalta los errores de sintaxis a medida que escribe. Parece que Apple eliminó esa característica.

+0

esta no es una respuesta a la pregunta ... – jheriko

+0

Compilar un único archivo es mucho más que errores de sintaxis. Entre otras cosas, le mostrará si ese archivo tiene sus dependencias declaradas adecuadamente. – Kaitain

-2

El atajo de teclado Cmd + K en Xcode 3 y antes se ha reasignado a Cmd + B en Xcode 4

lo largo de las mismas líneas, Cmd + Return era reasignado a Cmd + R (en caso de que todos lo hayan usado)

+1

Compilar un solo archivo no es lo mismo que construir todo el proyecto. – fbrereto

+0

@fbrereto Creo que oey192 se da cuenta de eso, pero las personas con 1 karma no pueden publicar comentarios. –

+0

@ MahmoudAl-Qudsi Ya veo; No tuve esa impresión ya que Cmd + K (compila un único archivo fuente en Xcode 3) no es la misma operación que construir todo el proyecto (Cmd + B en Xcode 3 y 4.) Tal vez solo estoy leyendo su respuesta es incorrecta ... – fbrereto

-1

Cuando construye un proyecto, xcode ejecuta el comando de compilación. Puede verificar el registro, buscar su archivo y copiar ese comando en la Terminal. Compilará solo el archivo para el que copió/pegó en la terminal.

11

El comando se ha movido al submenú Ejecutar acción. Busque en

Product > Perform Action > Compile filename.cpp 

Para asignar Cmd +K a ella, va a

File > Preferences > Key Bindings > Product Menu group 

y encontrará archivo de compilación donde se puede asignar una tecla. Cmd + K se asigna a Borrar consola ahora de forma predeterminada, por lo que debe asegurarse de eliminar el enlace para evitar conflictos.