2012-02-23 13 views
17

Chciałbym użyć Qt creator i Cmake razem (proszę nie pytać mnie o moją motywację, to przyjąć za pewnik.)Korzystanie z Qt Creator CUpewnij

pomyślnie skonfigurować Qt Creator do korzystania cmake " Cmake ": zobacz dokumenty dotyczące tego, jak to zrobiłem, zobacz this, this i this.

Udało mi się utworzyć projekt hello world, ale nie mogę tworzyć plików w projekcie, dodaje tylko istniejące pliki do drzewa projektu, a następnie dodaje je do listy cmake. Standardowe działanie kreatora Qt "Dodaj nowy ..." nie działa i nie mogę znaleźć przyczyny.

Czy jest ktoś, kto używa twórcy Qt i "Cmake" razem? Czy połączenie jest rzeczywiście możliwe?

Uwaga: Używam kreatora Qt v2.4.1.

Odpowiedz

12

Możesz dodać pliki za pomocą wyrażenia glob w CMakeLists.txt, tak:

file(GLOB SRC . *.cpp) 
add_executable (your_exe_name ${SRC}) 

CUpewnij odbierze nowe pliki cpp następnym uruchomieniu go i Qt Creator pokaże je w przeglądarce projektu.

Aktualizacja

Takie rozwiązanie może być przydatne, ale jak wspomniano w komentarzach - nie jest to dobra praktyka. Za każdym razem, gdy ktoś dodaje nowy plik źródłowy i zatwierdza zmiany, musisz ponownie uruchomić cmake, aby zbudować wszystkie źródła. Zwykle po prostu touch jeden z plików CMakeLists.txt, jeśli moja kompilacja jest zepsuta po I puli ostatnich zmian z repozytorium. Po tym make automatycznie uruchomi się cmake i nie będę musiał uruchamiać go ręcznie. Mimo to myślę, że jawne listy źródeł w CMakeLists.txt to dobrze, że nazwali rzecz CMake Listy z jakiegoś powodu.

+3

Pamiętaj jednak uważa się, że CMake używa złych stron do zbierania plików źródłowych. –

+3

Używam pliku (GLOB_RECURSE SRC * .cpp) – themean

+1

CMake jest całkiem sprytny w uruchamianiu się z pliku Makefile. Nigdy nie musiałem ręcznie uruchamiać CMake i ciągle używam globów ... – rubenvb

9

Po dodaniu nowych plików w QtCreator za pomocą okna dialogowego "Nowy plik lub projekt ..." tworzy on tylko pliki na dysku, nie dodaje automatycznie plików do CMakeLists.txt. Trzeba to zrobić ręcznie, edytując plik CMakeLists.txt.

Następnym razem, gdy budujesz projekt, CMake zostanie ponownie uruchomiony, a QtCreator pobierze nowe pliki i wyświetli je w przeglądarce projektu.

+0

Możliwe, że nie zostałem wystarczająco wyczyszczony Szukam sposobu na tworzenie plików w katalogu. Prawy przycisk na folderze -> dodaj element i itp. To nie działa dla mnie, gdy używam cmake – themean

+0

@themean - wziąłem twoje pytanie być: Czy jest możliwe dodawanie plików do projektu CMake w QtCreator? A jeśli tak, jak to zrobić?Jeśli źle to zrozumiałem, edytuj swoje pytanie, aby wyjaśnić, o co prosisz. – alanxz

+0

Dzięki. Jest to zrobione – themean

2

Testowałem tutaj i zdarzyło mi się to samo zachowanie, ponieważ te opcje, o które prosiłeś, były naprawdę wyłączone.

Zastosowanie Plik -> „Nowy plik lub Project ...” albo CTRL + N, aby dodać nowe pliki, a potem dodać do CMakeLists.txt

5

rozwiązać ten problem, że dodano nowe pliki w standardowy sposób (CTRL + N), a następnie dodano potrzebne pliki w CMakeLists. Następnie kliknij prawym przyciskiem myszy na projekt w widoku drzewa projektu i wybierz opcję Run CMake. Następnie pliki pojawiły się w drzewie listy projektów. Tylko kompilacja nie była wystarczająca.