Jak dodać ścieżkę dołączania w Qt Creator?

160

Mam projekt, nad którym pracuję w kreatorze Qt, który wymaga biblioteki innej firmy. Chcę dodać nagłówki do ścieżki dołączania projektu. Jak mam to zrobic?

Nathan Osman
źródło

Odpowiedzi:

231

Jeśli używasz qmake, standardowego systemu budowania Qt, po prostu dodaj wiersz do .propliku, zgodnie z dokumentacją w Qmake Variable Reference :

INCLUDEPATH += <your path>

Jeśli używasz własnego systemu kompilacji, tworzysz projekt, wybierając opcję „Importuj projekt oparty na Makefile”. Spowoduje to utworzenie niektórych plików w katalogu projektu, w tym pliku o nazwie <your project name>.includes. W tym pliku po prostu wypisz ścieżki, które chcesz dołączyć, po jednej w każdym wierszu. Naprawdę wszystko to robi, to mówi Qt Creator, gdzie ma szukać plików do zindeksowania w celu automatycznego uzupełniania. Twój własny system kompilacji będzie musiał obsługiwać ścieżki dołączania na swój własny sposób.

Jak wyjaśniono w podręczniku Qt Creator Manual , <your path>musi to być ścieżka bezwzględna, ale możesz uniknąć wpisów specyficznych dla .prosystemu operacyjnego, hosta lub użytkownika w swoim pliku, używając $$PWDktóre odnosi się do folderu zawierającego .proplik, np.

INCLUDEPATH += $$PWD/code/include
Jason B.
źródło
2
W porządku. To zadziała dla mnie dobrze. Czy istnieje globalne ustawienie ścieżek dołączania?
Nathan Osman
Nie żebym o tym wiedział, ale to nie znaczy, że nie ma. Nie widzę niczego w opcjach, które wyglądają tak.
Jason B
3
Nieważne. Twoja odpowiedź wspomina, INCLUDE_PATHale miałaś na myśli INCLUDEPATH. Naprawię twoją odpowiedź :)
Nathan Osman
6
Lepiej jest QMAKE_CXXFLAGSzamiast tego używać zmiennych, ponieważ INCLUDEPATHzawiera błędy (przynajmniej w tej chwili - QT5). To znaczy, kiedy dołączyłem INCLUDEPATH += ../../../, QT po prostu losowo wybrany katalog w tej ścieżce, a kompilator dostał opcję -I../../../GUI.
Hi-Angel
4
@ Hi-Angel: Wygląda na to, że INCLUDEPATHpodana wartość odnosi się do katalogu budowania, a nie do katalogu z katalogiem, .projak można łatwo założyć. Jak pokazano w mojej edycji odpowiedzi, możesz użyć `$$ PWD ', aby uzyskać jasno zdefiniowany folder, od którego rozpocznie się ścieżka dołączania.
ssc
6

Aby dodać globalną ścieżkę dołączania, użyj niestandardowego polecenia dla qmake w sekcji Projekty / Budowanie / Kroki kompilacji w "Dodatkowe argumenty" w następujący sposób: "QT+=your_qt_modules" "DEFINES+=your_defines"

Myślę, że w ten sposób można użyć dowolnego polecenia z plików * .pro.

Alex Maltsev
źródło
5

Dla każdego zupełnie nowego w Qt Creator, takiego jak ja, możesz zmodyfikować plik .pro swojego projektu z poziomu Qt Creator:

wprowadź opis obrazu tutaj

Po prostu kliknij dwukrotnie "nazwę twojego projektu" .pro w oknie Projekty i dodaj ścieżkę dołączania na dole pliku .pro, tak jak to zrobiłem.

Adam
źródło
5
Używanie bezwzględnych ścieżek do plików to bardzo zły pomysł. Zawsze staraj się używać systemu względnych ścieżek plików. QT jest przeznaczony do pracy wieloplatformowej. A jeśli skompilujesz ten sam kod na komputerze z systemem Linux, kompilator nie znajdzie tych nazw plików, takich jak C: \ Co więcej, nawet jeśli zmienisz nazwę folderu źródłowego lub przeniesiesz go w inne miejsce na swoim komputerze, nadal zawiedzie, a ty będzie musiał za każdym razem edytować plik .pro
Shivam Jha
0

Jeśli używasz niestandardowych plików Makefiles, możesz dwukrotnie kliknąć plik .includes i dodać go tam.

karsten
źródło