2009-01-13 5 views
20

Ich versuche, Qt für ein Projekt in der Schule zu verwenden, aber ich stoße auf Probleme. Ich habe begonnen, den Tutorials zu folgen, und ich stoße auf Makefile-Probleme. Die meisten Tutorials sagen, dass sie qmake -project, dann qmake und schließlich make ausführen. Aber wenn ich das versuche, laufe ich auf den Fehler make: *** No targets specified and no makefile found. Stop. Ich weiß nicht viel über Makefiles wirklich. Könnte mir jemand helfen, mich in die richtige Richtung zu lenken?Wie kompiliere ich eine einfache Qt und C++ - Anwendung mit g ++ auf Mac OS X?

+0

Sind Sie mit XCode oder Befehlszeile sollte ausreichen? –

Antwort

24

qmake auf OS X erstellt Xcode-Projektdateien. Sie können ein Makefile mit erstellen:

qmake -spec macx-g++ 

Wenn Sie das Makefile nicht wollen eine App Bundle erstellen, können Sie auch ‚app_bundle‘ Ihre Konfiguration entfernen, zum Beispiel durch die folgenden Zeilen zu Ihrer Projektdatei hinzufügen.

mac { 
    CONFIG -= app_bundle 
} 
+1

Im Gegenteil, ich möchte ein App-Bundle erstellen, aber ich bekomme nur eine Binärdatei. Ich habe versucht, 'CONFIG + = app_bundle' ohne Erfolg hinzuzufügen. –

2

Es klingt, als könnte es ein Problem mit Ihrer Qt-Installation geben. Hast du es selbst gebaut oder einen Build von jemand anderem installiert? Haben Sie auch eine Beispiel-.pro-Datei, die Ihnen diese Probleme bereitet?

+0

Ich habe es nicht selbst gebaut. Ich habe den Mac OS X Build von der QT-Site installiert. die .pro ich benutze sieht in etwa so aus: ' TEMPLATE = app ZIEL = DEPENDPATH + =. INCLUDEPATH + =. # Input HEADERS + = hello.h QUELLEN + = hello.cpp main.cpp ' – Sam

+0

Wie andere haben darauf hingewiesen, qt auf OSX mit der von QtSoftware installieren erzeugt Xcode-Projektdateien.Vielleicht möchten Sie versuchen, ein eigenes Qt aus der Quelle zu erstellen, damit es standardmäßig Makefiles erstellt. – Arcane

2

Es ist eine Weile her, aber ich denke, Ihr Problem ist, dass qmake unter Mac OS X standardmäßig xcode Projektdateien anstelle von Makefiles erstellt. Deshalb wurde beim Ausführen von make kein Makefile gefunden. Sehen Sie stattdessen in den Befehlszeilen von qmake nach, wie Sie auf Makefiles zugreifen können. Es kann auch eine Option geben, die Sie der .pro-Datei hinzufügen können, um jedes Mal eine Makefile-Ausgabe zu erzwingen.

10

Wie andere Plakate das Standardverhalten von qmake auf dem Mac darauf hingewiesen haben, ist zu xCode Projektdateien zu erstellen. Sie können jedes Mal, wenn Sie qmake ausführen, etwas Spezielles eingeben oder jeder Projektdatei ein paar Zeilen hinzufügen. Es gibt eine dauerhaftere Lösung. Ich stoße jedes Mal darauf, wenn ich Qt auf meinem Mac installiere. Von einer Befehlszeile geben Sie den folgenden:

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

sudo rm Standard

sudo ln -sf macx-g ++ Standard

Das im ersten Online-Befehl angegebene Verzeichnis muss möglicherweise optimiert werden. Das erste "Sudo" erfordert ein Administratorkennwort.

Was das ist, entfernen Sie die problematische Datei, die angibt, dass der Standard-Spec-Schalter Mac-Xcode oder etwas ähnliches ist. Wir ersetzen es dann durch eine Datei, die angibt, dass wir den Schalter macx-g ++ standardmäßig verwenden.

2

configure -Plattform macx-g ++ gmake

, die für alle Fragen