回答:
これは必ずしもUnix / Linux固有ではないため、おそらくStack Overflowでこれを尋ねる方がよいでしょう。それにも関わらず、QtCreatorは通常、代替Qtインストールの検出に非常に優れており、新しいプロジェクトを作成Projects
して左側のタブの下を見るだけです。そこで異なるビルド構成を設定できます。構成ごとにインストールされているさまざまなバージョンから選択するドロップダウンボックスがあるはずです。
そうでない場合、QTDIR
Qtバージョンを設定するために環境変数が使用されているようです。デフォルトでは、QtCreatorはこれを/usr/share/qt4
設定します。したがって、同等のパス(つまり、構成ファイルがあるパス)に設定すると、qmakeが異なるバージョンでビルドされます。次のようなものでテストできます。
QTDIR=/usr/share/qtX qmake --version
.pro
ファイルでこれを設定することも可能かもしれませんが、その場合は文書化されていません(非常に多くのqmake
変数と同様)。
また、特定のメジャーバージョンでビルドする場合qmake
は、通常、デフォルトのメジャーバージョンのバイナリにシンボリックリンクされます。本当のバイナリがあるqmake-qt4
、qmake-qt5
も参照してくださいなどman qtchooser
とqtX-default
のDebianベースのシステム上のパッケージ。
qtchooser
Ubuntu 13.04および13.10には、Qtアプリケーションが異なるQtバージョンを検出する方法に影響を与えると思われるバグがあります。https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1177823を参照してください。これはQtCreatorにも影響する場合があります。
-qt=qt5
スイッチまたはQT_SELECT=qt5
環境変数を使用するのに役立ちました。
$ qmake --version
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu
$ qmake -qt=qt5 --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
$ QT_SELECT=qt5 qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
より良い方法があります。
変更を永続的にしたい場合は、/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
ファイルを変更する必要があります。これはへのシンボリックリンク../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf
です。
これが私のシステムの例です(Ubuntu 17.10 x64、Qt 5.10.1)。元のsymlinkファイルとそのターゲットの両方を適切な場所に保持することをお勧めします(元の構成を復元する場合)。また、デフォルトの場所に新しいファイルを作成します(一貫性を保つため)。手順は次のとおりです。
symlinkファイルの名前を変更します。
sudo mv /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf_orig
(任意の名前で)新しいターゲット構成ファイルを作成します。
gksudo gedit /usr/share/qtchooser/my_Qt_5.10.1_Desktop_gcc_x64.conf
このファイルには2行が含まれている必要があります。1行目はQtバイナリ(qmakeを含む)へのパスで、2行目はQtライブラリ(.soファイルを含む)へのパスです。私の場合は
<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib
保存して閉じます。default.conf
新しい構成ファイルへのシンボリックリンクを作成します。
ln -s /usr/share/qtchooser/my_Qt_5.10.1_Destop_gcc_x64.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
Qtバージョンを確認します。
qmake --version
これで、常に指定されたバージョンが使用されるはずです。
上記の回答の多くが機能します。しかし、私は個人的にそれらのどれも永続的ではないことを発見しました。たとえば、次のコマンドを実行できます。
$ QT_SELECT=qt5 qmake --version
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu
しかし、新しいターミナルを開いてQtバージョンを確認すると、デフォルトに戻ります。Qtの複数のバージョンがインストールされている場合、デフォルトは必要なバージョンではない可能性があります。次のコマンドを実行して確認できます。
$ qtchooser -print-env
QT_SELECT="default"
QTTOOLDIR=...
QTLIBDIR=...
変更を保持する唯一の方法は、デフォルトバージョンを変更することです。これを行うには、/usr/lib/x86_64-linux-gnu/qtchooser/default.conf
次の行を編集して変更します。
/usr/lib/x86_64-linux-gnu/qt5/bin
必要qt5
なバージョンに変更する場所。このコマンドqtchooser -list-versions
を使用して、マシンにインストールされているバージョンを確認できます。
qmake
(/usr/bin/qmake
)は実際にはqtchooser
(/usr/bin/qtchooser
)への単なるシンボリックリンクです。
以下からの引用ですman qtchooser
:
FILES
/etc/xdg/qtchooser/default.conf
System-wide configuration files. Each has two lines, the first
is the path to the binaries and the second is the path to the Qt
libraries. If a default.conf is provided, the settings from it
will be automatically used in case nothing else is selected.
$HOME/.config/qtchooser/*.conf
User configuration files.
ファイルの/etc/xdg/qtchooser/default.conf
優先順位は、よりも高くなってい/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
ます。qmake
私のシステムの例(Ubuntu 17.10 x64、Qt 5.10.1)でデフォルトのQtバージョンを選択する方法の手順は次のとおりです。
/etc/xdg/qtchooser
ディレクトリを作成します。
sudo mkdir /etc/xdg/qtchooser
構成ファイルを作成および編集します。
gksudo gedit /etc/xdg/qtchooser/default.conf
上記のように。このファイルには2行が含まれている必要があります。最初の行はQtバイナリ(qmakeを含む)へのパスで、2行目はQtライブラリ(.soファイルを含む)へのパスです。私の場合、次のようになります。
<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib
保存して閉じます。今、qmake
指定されたQtのバージョンを使用する必要があります。
sudo apt-get install qt5-default
使用する場合はqt5
、qt4
sudo apt-get install qt4-default