qmake と QT_INSTALL_PREFIX。Qt ライブラリの新しい場所を選択するにはどうすればよいですか?
質問
私は qmake を初めて使用し、既存のアプリケーションを構築しようとしています。Qt は元々 /usr/local/lib/Qt-4.3.5 にインストールされており、「qmake -query QT_INSTALL_PREFIX」はそのパスを返します。
Qt ライブラリを別の場所に移動しました。生成された Makefile には、/usr/local の元のパスが追加されています。
Qt を再コンパイルせずに、選択した新しい場所を qmake に強制的に使用させるにはどうすればよいですか?
解決
これはqconfig.cppからqmakeのにコンパイル「組み込み」です。最良の方法は、他の-prefixでのQtを再構成し、残念ながら再構築することです。他のほとんどの変数について、あなたは.qmake.cacheファイルを使用することができます。
を参照してください。http://doc.qt.digia.com/qt /qmake-environment-reference.htmlする
詳細は
他のヒント
私はこれに見て、qt.conf
ファイルにQTをカスタマイズすることによって、(QT 4.7.2で)働く方法を見つけました。
私の場合、私は
(それはqt4-4.7.2/bin/qt.conf
実行可能ファイルと同じ場所になければなりません)qmake
を追加しました
以下の内容:
[Paths]
Prefix = c:/my_path/to/qt4-4.7.2
とのqmakeの-queryが適切なパスを返す開始!
を参照してください: http://doc.qt.io/qt-4.8/qt-conf.html詳細についてはを
<時間>[更新:]少なくともQtの5.3.1あなたは、単に行うことができます(静的5.3.1のバージョンとWindows 8上の5.5でテスト済み)ので、
[Paths]
Prefix = ..
とどこかのQtのインストールを展開します。
Henrik Hartz が指摘したように、QT_INSTALL_PREFIX は組み込みであり、変更できません。ただし、Qt を一時的に再構築する必要を回避したいだけの場合は、次のことを試すことができます。
qmake にインストール プレフィックスを問い合わせ、報告されたディレクトリ構造を再作成し、再配置された Qt バージョンがある場所へのシンボリックリンクまたはハードリンクを使用します。例えば。Linux 上で
- によって報告されたパスを取得します
/new/Qt/location/bin/qmake -query QT_INSTALL_PREFIX
. 。この報告を言ってください/Parent/Dirs/Prefix
. - パスの親ディレクトリを作成します。
mkdir -p /Parent/Dirs/
- 新しい場所へのシンボリックリンク。
ln -s /new/Qt/location /Parent/Dirs/Prefix
上記は、同じビルド済みバージョンの Qt を使用する必要がある開発者が多数いて、この Qt バージョンがすべての開発者のコンピュータ上の同じパスにコピーされる必要がなく、必要なのはQt 共有ライブラリをエンド ユーザー向けのアプリケーションにバンドルする (つまり、ヘッダーやビルド ツールは配布されません)。