Jak skompilować prostą aplikację Qt i c++ używając g++ na mac os x?

Próbuję użyć Qt do projektu w szkole, ale mam problemy. Zacząłem śledzić samouczki i mam problemy z Makefile. Większość samouczków mówi, aby uruchomić qmake -project, następnie qmake i wreszcie make. Ale kiedy próbuję tego, natrafiam na błąd make: *** No targets specified and no makefile found. Stop. Nie wiem zbyt wiele o Makefiles naprawdę. Czy ktoś mógłby mi pomóc wskazać właściwy kierunek?

Author: Sam, 2009-01-14

5 answers

Qmake na OS X tworzy pliki projektu Xcode. Możesz utworzyć plik Makefile za pomocą:

qmake -spec macx-g++

Jeśli nie chcesz, aby plik Makefile tworzył pakiet aplikacji, możesz również usunąć 'app_bundle' swoją konfigurację, na przykład dodając następujące linie do pliku projektu.

mac {
  CONFIG -= app_bundle
}
 24
Author: danieldk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-14 20:56:48

Jak zauważyły inne plakaty, domyślnym zachowaniem qmake na komputerze Mac jest tworzenie plików projektu Xcode. Za każdym razem, gdy uruchamiasz qmake, możesz wpisać coś specjalnego lub dodać kilka linii do każdego pliku projektu. Jest bardziej trwałe rozwiązanie. Wpadam na to za każdym razem, gdy instaluję Qt na moim Macu. Z wiersza poleceń wpisz:

Cd / usr / local / Qt4.5 / mkspecs /

Sudo rm default

Sudo ln-SF macx-g++ default

The katalog podany w pierwszym poleceniu online może wymagać pewnych poprawek. Pierwsze "sudo" będzie wymagało hasła administracyjnego.

To usuwa plik, który określa, że domyślnym przełącznikiem jest mac-xcode lub coś w tym stylu. Następnie zastępujemy go plikiem określającym, że domyślnie używamy przełącznika macx-g++.

 10
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-03 00:53:04

Wygląda na to, że może być problem z instalacją Qt. Czy sam go zbudowałeś, czy zainstalowałeś od kogoś innego? Czy masz przykładowy plik. pro, który sprawia ci ten problem?

 2
Author: Arcane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-13 22:58:55

Minęło trochę czasu, ale myślę, że Twoim problemem jest to, że qmake na Mac OS X domyślnie tworzy pliki projektu Xcode, zamiast plików Makefile. Dlatego nie znaleziono pliku makefile, gdy uruchomiłeś make. Zamiast tego poszukaj w wierszach poleceń qmake, aby określić, jak kierować pliki Makefile. Ponadto może istnieć opcja, którą możesz dodać do pliku. pro, aby wymusić wyjście pliku makefile za każdym razem.

 2
Author: Caleb Huitt - cjhuitt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-14 16:09:24

Configure-platform macx-g++ gmake

To powinno wystarczyć na wszystkie pytania

 2
Author: banbul lary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-08 06:50:07