これを行う簡単な方法があるはずだと思いますが、私のgooglefuが失敗しているので、qmakeを実行するときに使用するQtのバージョンを切り替える(または永続的に変更する)方法についての情報をいただければ幸いです。どのバージョンかを尋ねると、次のようになります。
~ $ qmake --version
QMake version 3.0
Using Qt version 5.0.1 in /usr/lib/x86_64-linux-gnu
QtCreatorをインストールしましたが、次の手順がわかりません。
これは必ずしも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
などです。Debianベースのシステムのman qtchooser
およびqtX-default
パッケージも参照してください。
Ubuntu 13.04および13.10のqtchooser
にはバグがあり、QtアプリケーションがさまざまなQtバージョンを検出する方法に影響を与えるようです。 https://bugs.launchpad.net/ubuntu/+source/qt4)を参照してください-x11/+ bug/117782 。これは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ファイルの名前を変更します。
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
現在は常に指定されたバージョンを使用する必要があります。
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
よりも優先されます。私のシステムの例(Ubuntu 17.10 x64、Qt 5.10.1)でqmake
のデフォルトのQtバージョンを選択する手順は次のとおりです。
/etc/xdg/qtchooser
ディレクトリを作成します。
Sudo mkdir /etc/xdg/qtchooser
構成ファイルを作成して編集します。
gksudo gedit /etc/xdg/qtchooser/default.conf
上記のとおり。このファイルには2行が含まれている必要があります。1行目はQtバイナリ(qmakeを含む)へのパスで、2行目はQtライブラリ(.soファイルを含む)へのパスです。私の場合、それは:
<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib
保存して閉じます。これでqmake
は指定されたQtバージョンを使用する必要があります。
上記の答えの多くは機能します。しかし、私はそれらのどれも永続的ではないことを個人的に発見しました。例えば。私はこのコマンドを実行できます:
$ 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
を使用して、マシンにインストールされているバージョンを確認できます。
Debian Jessie Stableのようないくつかのディストリビューションでは、次のことができます。
Sudo apt-get install -y qt4-qmake qt4-dev-tools
Sudo update-alternatives --install "/usr/bin/qmake" "qmake" "/usr/bin/qmake-qt4" 40
Sudo update-alternatives --config qmake
変更が必要な場合は、必要なバージョンを選択して、3行目をもう一度実行します。
Sudo apt-get install qt5-default
ご希望の場合はqt5
、 ために qt4
使用する:
Sudo apt-get install qt4-default
qt-3.3.8
とqt-4.8.5
の両方の環境があるFedora 23の(私の)デフォルト設定では、PATH
に/usr/libxx/qt4/bin/
ディレクトリを一時的に追加して、cmake
/qmake
パッケージを使用して、適切なバージョンを見つけてください。これは、完成したQT4アプリを実行するときではなく、コードをビルドするときに必要でした。
何らかの理由で、QT3パスはPATH
の開始時にすでに永続的にインストールされていたため、QTバージョンセレクターが正しく機能していませんでした。