Niekoniecznie jest to specyficzne dla Uniksa / Linuksa, więc prawdopodobnie lepiej jest zapytać o to w przypadku przepełnienia stosu. Niemniej jednak QtCreator jest zwykle całkiem dobry w wykrywaniu alternatywnych instalacji Qt, wystarczy utworzyć nowy projekt i zajrzeć pod Projects
zakładkę po lewej stronie. Można tam ustawić różne konfiguracje kompilacji. Powinno być rozwijane pole do wyboru różnych zainstalowanych wersji dla każdej konfiguracji.
W przeciwnym razie wydaje się, że QTDIR
zmienna środowiskowa służy do ustawienia wersji Qt. Domyślnie QtCreator ustawia to /usr/share/qt4
dla mnie, więc ustawienie go na równoważną ścieżkę (tj. Ścieżkę, w której znajdują się pliki konfiguracyjne) powinno sprawić, że qmake będzie budował inną wersję. Możesz przetestować za pomocą czegoś takiego:
QTDIR=/usr/share/qtX qmake --version
Możliwe jest również ustawienie tego w .pro
pliku, ale jeśli tak, to nie jest to udokumentowane (jak w przypadku wielu qmake
zmiennych).
Ponadto, jeśli chcesz budować z określoną wersją główną, qmake
zwykle jest ona po prostu dowiązana symbolicznie do pliku binarnego dla domyślnej wersji głównej. Pliki binarne są prawdziwe qmake-qt4
, qmake-qt5
itd. Patrz także man qtchooser
i qtX-default
pakietów w systemach opartych Debiana.
Aktualizacja
W qtchooser
Ubuntu 13.04 i 13.10 występuje błąd, który wydaje się wpływać na sposób, w jaki aplikacje Qt wykrywają różne wersje Qt, patrz https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1177823 . Może to również wpłynąć na QtCreator.
Pomogło mi to użyć
-qt=qt5
przełącznika lubQT_SELECT=qt5
zmiennej środowiskowej.źródło
Jest lepsza metoda .
Jeśli chcesz, aby zmiany były trwałe, musisz zmodyfikować
/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
plik, który jest dowiązaniem symbolicznym../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf
.Oto przykład mojego systemu (Ubuntu 17.10 x64, Qt 5.10.1). Proponuję zachować zarówno oryginalny plik dowiązania symbolicznego, jak i jego cel na miejscu (na wypadek, gdybyś chciał odzyskać oryginalną konfigurację). A także utwórz nowe pliki w domyślnych lokalizacjach (dla zachowania spójności). Oto kroki:
Zmień nazwę pliku dowiązania symbolicznego:
Utwórz nowy docelowy plik konfiguracyjny (o dowolnej nazwie):
Ten plik musi zawierać dwa wiersze: pierwszy wiersz to ścieżka do plików binarnych Qt (w tym qmake), a drugi to ścieżka do bibliotek Qt (w tym plików .so). W moim przypadku tak jest
Zapisz i zamknij. Utwórz dowiązanie symboliczne
default.conf
do nowego pliku konfiguracyjnego:Sprawdź swoją wersję Qt:
Teraz powinien zawsze używać określonej wersji.
źródło
W niektórych dystrybucjach, takich jak Debian Jessie Stable, możesz wykonać następujące czynności:
I po prostu wybierz potrzebną wersję, jeśli potrzebujesz zmiany, po prostu uruchom ponownie trzecią linię.
źródło
Wiele z powyższych odpowiedzi zadziała. Jednak osobiście odkryłem, że żaden z nich nie jest uparty. Np. Mogę uruchomić to polecenie:
Ale jeśli otworzę nowy terminal i sprawdzę wersję Qt, nastąpi powrót do domyślnej, a jeśli masz zainstalowanych wiele wersji Qt, domyślna może nie być ta, którą chcesz. Możesz powiedzieć, uruchamiając to polecenie:
Jedynym sposobem, aby wprowadzić zmiany, jest zmiana domyślnej wersji. Aby to zrobić, edytuj
/usr/lib/x86_64-linux-gnu/qtchooser/default.conf
i zmień ten wiersz:Gdzie zmieniasz
qt5
na dowolną wersję, którą chcesz. Możesz użyć tego polecenia,qtchooser -list-versions
aby zobaczyć, jakie wersje są zainstalowane na twoim komputerze.źródło
qmake
(/usr/bin/qmake
) w rzeczywistości jest tylko dowiązaniem symbolicznym doqtchooser
(/usr/bin/qtchooser
).Oto cytat z
man qtchooser
:Plik
/etc/xdg/qtchooser/default.conf
ma wyższy priorytet niż/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
. Oto kroki, jak wybrać domyślną wersję Qtqmake
na przykładzie mojego systemu (Ubuntu 17.10 x64, Qt 5.10.1).Utwórz
/etc/xdg/qtchooser
katalog:Utwórz i edytuj plik konfiguracyjny:
Jak powiedziano powyżej. ten plik musi zawierać dwa wiersze: pierwszy wiersz jest ścieżką do plików binarnych Qt (w tym qmake), a drugi to ścieżka do bibliotek Qt (w tym plików .so). W moim przypadku będzie to:
Zapisz i zamknij. Teraz
qmake
należy użyć określonej wersji Qt.źródło
Jeśli chcesz
qt5
, doqt4
użytku:źródło
W (moim) domyślnym ustawieniu Fedory 23 zawierającym oba środowiska
qt-3.3.8
iqt-4.8.5
środowiska konieczne było również/usr/libxx/qt4/bin/
tymczasowe dodanie katalogu do,PATH
aby umożliwić pakietomcmake
/qmake
znalezienie właściwej wersji. Było to konieczne podczas budowania kodu, a nie podczas uruchamiania gotowej aplikacji QT4.Z jakiegoś powodu ścieżka QT3 została już tam zainstalowana na stałe i niestety na początku
PATH
, co uniemożliwiło poprawne działanie selektora wersji QT.źródło