2008-12-18 13 views
44

He estado jugando con Qt durante unas horas. Descubrí que qmake produce archivos de proyecto de Xcode en Mac OS X en lugar de buenos makefiles. No quiero lanzar Xcode cada vez que quiero construir "Hello, world".Creación de proyectos de Qt Xcode desde la línea de comandos

¿Cómo puedo hacer qmake generar archivos make normales o, si eso es algo que no se puede hacer en la Mac, ¿cómo compilo .xcodeproj archivos de la línea de comandos?

Intenté xcodebuild -project myProject -alltargets. Obtuve una gran cantidad de resultados seguidos por Abort trap.

+0

Parece un mal objetivo. Intente tal vez especificar un objetivo conocido, o simplemente sin argumentos (construirá el objetivo predeterminado) y verá qué sucede. – Olie

+0

puede indicar claramente cómo configura la variable QMAKESPEC para macx-g ++ me gusta QMAKESPEC = macx-g ++ en la terminal, pero cuando escribo el comando qmake no pude generar un archivo MAKE – issac

Respuesta

21

Los instaladores binarios Qt de código abierto para OS X de Trolltech crean archivos .xcodeproj de manera predeterminada cuando ejecuta qmake. No uso XCode para editar, así que es complicado abrirlo para compilar el proyecto.

para compilar sus proyectos de Terminal.app, acaba de establecer una variable de entorno de QMAKESPEC a MACX-g ++

Si desea simplemente compilar un determinado proyecto de la terminal, vaya a ese directorio y ejecutar

qmake -spec macx-g++ 

Cuando ejecuta qmake, esto creará un Makefile que puede usar ejecutando make.

+0

puede indicar claramente cómo se establece la variable QMAKESPEC a macx-g ++ me gustó QMAKESPEC = macx-g ++ en la terminal, pero cuando escribo el comando qmake no fue capaz de generar un archivo MAKE – issac

+2

@isaac 'exportar QMAKESPEC = macx-g ++ '(si usas sh al menos) –

60
$ man xcodebuild 

Así que un comando típico podría ser algo como:

$ xcodebuild -project myProject.xcodeproj -alltargets 
+6

Tenía que escribir el nombre completo de mi archivo de proyecto para hacer que esto funcione, por ejemplo, myProject.xcodeproj –

0

En cuanto a esta parte de su rastreo de origen:

# 2008-12-18 20: 40: 52.333 xcodebuild [1070: 613] [MT] ASSERTION FAILURE en /SourceCache/DevToolsBase/DevToolsBase-921/pbxcore/FileTypes/PBXCFBundleWrapperFileType.m:174 # Detalles: la ruta debe ser un stri no vacío ng, pero es una cadena vacía # objeto: # Método: -subpathForWrapperPart: ofpath: withExtraFileProperties: # Tema: {name = (null), num = 1}

Esto implica que algo , tal vez una de sus variables de configuración, esté en blanco cuando necesite hacer referencia a un archivo. Lo que me pregunto es si tal vez tiene un objetivo adicional en su proyecto que no funciona, por lo que construir con -todos objetivos es lo que está causando su problema.

Probé xcodebuild sin ningún argumento en uno de mis proyectos en este momento - hizo una compilación predeterminada de mi proyecto sin errores. ¿Qué pasa si lo intentas sin argumentos?

2

Pruebe de la siguiente manera. Tiene que funcionar.

xcodebuild -project myProject.xcodeproj -alltargets 

He utilizado este método en la mayoría de mis proyectos.

Cuestiones relacionadas