2009-01-13 26 views
20

Estoy tratando de usar Qt para un proyecto en la escuela, pero estoy teniendo problemas. Empecé a seguir los tutoriales y me encuentro con problemas de Makefile. La mayoría de los tutoriales dicen ejecutar qmake -project, luego qmake y finalmente make. Pero cuando intento esto me encuentro con el error make: *** No targets specified and no makefile found. Stop.. No sé mucho sobre Makefiles realmente. ¿Alguien podría ayudarme a orientarme en la dirección correcta?¿Cómo compilar una aplicación Qt y C++ simple usando g ++ en mac os x?

+0

¿Está utilizando XCode o simplemente de línea de comandos? –

Respuesta

24

qmake en OS X crea archivos de proyecto Xcode. Puede crear un Makefile con:

qmake -spec macx-g++ 

Si no desea que el Makefile para crear un paquete de aplicación, también puede eliminar la configuración de 'app_bundle', por ejemplo, añadiendo las siguientes líneas a su archivo de proyecto.

mac { 
    CONFIG -= app_bundle 
} 
+1

Por el contrario, me gustaría crear un paquete de aplicaciones, pero solo obtengo un archivo binario. Intenté agregar 'CONFIG + = app_bundle' en vano. –

2

Parece que podría haber un problema con la instalación de Qt. ¿Lo construiste tú mismo o instalaste una construcción de otra persona? Además, ¿tiene un archivo .pro de ejemplo que le está causando este problema?

+0

No lo construí yo mismo. Instalé la compilación mac os x desde el sitio qt. el .pro estoy usando se ve algo como esto: ' TEMPLATE = aplicación TARGET = DEPENDPATH + =. INCLUDEPATH + =. # Input ENCABEZADOS + = hello.h fuentes + = hello.cpp main.cpp ' – Sam

+0

Como otros han señalado, qt en OSX con la instalación de QtSoftware genera archivos de proyecto de Xcode.Es posible que desee intentar construir su propio Qt desde el origen, de modo que establezca de forma predeterminada la creación de archivos make. – Arcane

2

Ha pasado un tiempo, pero creo que su problema es que qmake en Mac OS X crea archivos de proyecto xcode por defecto, en lugar de makefiles. Es por eso que no se encontró ningún archivo MAKE cuando ejecutó make. En su lugar, busque en las líneas de comando qmake para especificar cómo hacer objetivo a los archivos make. Además, puede haber una opción que pueda agregar al archivo .pro para forzar la salida de un archivo MAKE siempre.

10

Como han señalado otros carteles, el comportamiento predeterminado de qmake en la Mac es crear archivos de proyecto de xCode. Puede escribir algo especial cada vez que ejecute qmake o agregue algunas líneas a cada archivo de proyecto. Hay una solución más permanente. Me encuentro con esto cada vez que instalo Qt en mi Mac. A partir de un tipo de línea de comandos en el siguiente:

cd /usr/local/Qt4.5/mkspecs/

por defecto sudo rm

sudo ln -sf macx-g ++ predeterminado

El directorio especificado en el primer comando en línea puede necesitar algunos ajustes. El primer "sudo" requerirá una contraseña administrativa.

Lo que hace es eliminar el archivo ofensivo que especifica que el modificador predeterminado -spec es mac-xcode o algo así. Luego lo reemplazamos con un archivo que especifica que usamos el modificador macx-g ++ de manera predeterminada.

2

configurar -platform macx-g ++ gmake

que debería ser suficiente para todas las preguntas