Qt: * .pro vs * .pri

87

Jaka jest różnica między plikami konfiguracyjnymi *.proi *.priplikami qmake?

Co powinno znaleźć się w pliku * .pro, a co w pliku * .pri?

Roman Byshko
źródło

Odpowiedzi:

53

.proPlik jest czego można uruchomić na QMake. .priPlik znajduje się .proplik. Poza tym nie ma między nimi dużej różnicy.

Przykładem może być sytuacja, gdy masz różne kompilacje, które wymagają różnych opcji. Możesz umieścić wspólne informacje w .pro, odkładając opcje na różne pliki .pri. Nieco więcej informacji, choć co prawda niewiele więcej, można znaleźć tutaj .

Bart
źródło
74

Istnieje jedna główna różnica między ich docelowym ponownym wykorzystaniem:

.zawodowiec

Zwykle nazywa się to plikiem projektu .

.pri

Nazywa się to zwykle plikiem dołączania projektu .

Jak widać w ich nazwach, główna różnica polega na tym, że .pripliki mają być plikami dołączanymi. Zasadniczo jest to podobne do włączania modułów w języku programowania w celu współdzielenia funkcji.

Będziesz mógł zapisać wspólne ustawienia i kod w tych .priplikach i dołączyć je z kilku .proplików, gdy zajdzie taka potrzeba. Tak byś to wykorzystał w praktyce:

foo.pri

FOO = BAR

hello.pro

...
include($$PWD/foo.pri)
...

world.pro

...
include($$PWD/foo.pri)
...

W ten sposób wspólność byłaby dostępna zarówno w programie, hello.projak i world.pro. Nie robi to dużej różnicy w tym scenariuszu, ale kiedy wspólna funkcjonalność stanie się dłuższa, zaoszczędzi ci to trochę pisania, jak również synchronizacji, naprawiania błędów i tak dalej.

Jeśli chcesz, możesz nawet dołączyć .priplik do innego .pripliku. Możesz także dołączyć .pripliki do różnych podprojektów itp. Jest to bardzo miłe.

Składnia jest jednak taka sama w przypadku plików .proi .pri. Na koniec uruchomisz qmake na .proplikach i to właśnie generuje qmake, jeśli nie masz pliku projektu i zamierzasz go użyć qmake -project.

Możesz przeczytać więcej o funkcji włączania tutaj :

include (nazwa pliku)

Dołącza zawartość pliku określonego przez nazwę pliku do bieżącego projektu w miejscu, w którym jest uwzględniony. Ta funkcja powiedzie się, jeśli dołączona jest nazwa pliku; w przeciwnym razie zawiedzie. Załączony plik jest natychmiast przetwarzany.

Możesz sprawdzić, czy plik został uwzględniony, używając tej funkcji jako warunku zakresu.

Wystarczy być kompletny, istnieje również .prf projekt Funkcja Pliki i .prl projektami Linker Files , ale jako użytkownika końcowego, nie trzeba zajmować się tym teraz.

lpapp
źródło
16

Format .priplików jest dokładnie taki sam, jak format .proplików. Główna różnica to zamiar; a .pro jest tym, czego większość ludzi spodziewałaby się po bezpośrednim uruchomieniu qmake, podczas gdy .pri ma zostać dołączone do .pro. Kiedy nakazujesz qmake dołączyć inny plik, po prostu przetwarza polecenia z tego pliku tak, jakby były w bieżącym pliku.

Dla odniesienia: * .pro vs * .pri

Samiec alfa
źródło
Właściwie widziałem to pytanie i nie zauważyłem, że druga odpowiedź faktycznie odpowiada na moje pytanie .. :(
Roman Byshko