2016-08-09 10 views
0

qmakeはどこでpriファイルを探しますか?私は次のセットアップ(QT 5.6.1-1を使用して)いる

qtbase/bin 
... 
qtbase/mkspecs 
... 
qtdeclarative/mkspecs 

私は次のエラーを取得qtquickcontrols構築しようとしている:だけqmakeのを見ているので

qmake 
make 
Some of the required modules (qtHaveModule(quick)) are not available. 
Skipped. 

私はそれがだと思うがqtbase/mkspecsの.priファイル用。 mkspecsを設定する環境変数はありますか? 検索パス?

QMAKESPEC、QT_PLUGIN_PATH、およびINCLUDEPATHを設定しようとしましたが、エラーメッセージを超えて取得できませんでした。

ビルドプロセス:

tar -xf qtbase-opensource-src-5.6.1.tar.xz && cd 
./configure -prefix=qtbase/prefix 
make 
make install 

tar -xf qtdeclarative-opensource-src-5.6.1.tar.xz && cd 
qmake PREFIX=qtdeclarative/prefix 
make install 

クイック(

sed -i s#INSTALL_ROOT)/qtbase/prefix#INSTALL_ROOT)/qtdeclarative/prefix 
make install 

tar -xf qtquickcontrols-opensource-src-5.6.1.tar.xz && cd 
qmake PREFIX=qtquickcontrols/prefix 
make install 

が に必要なモジュール(qtHaveModuleの一部を失敗した(それは、ビルドユーザーが書き込み可能ではありません)/プレフィックスをqtbaseする書き込みエラーで失敗します))は利用できません。 スキップしました。

+0

完全なソースを取得し、すべてを構築することで、人生ははるかに簡単になります。あなたは何も心配する必要はありません、それだけで動作します。また、ソースフォルダにビルドしてはいけません。どのバージョンのQtでも、少なくとも3つのフォルダ、つまりソース、ビルド、インストールが必要です。 –

答えて

0

Qtのインストールが正しく設定されていれば問題ありません。次の点を確認してください。

  1. すべてのモジュールをコンパイルしました。

  2. あなたはQtビルドを移動していません。パスはハードコードされており、一度ビルドすると移動できません。

すでに実行していない場合は、独自のビルドフォルダにQtを構築することをお勧めします。

+0

qmake PREFIX =/absolute/path/to/dir &&を使用してqtbaseとqtdeclarativeを構築しました。&& make installを実行し、移動しませんでした。しかし、qtdeclarativeを構築するときには、$(INSTALL_ROOT)/ qtdeclarative/prefixの代わりに$(INSTALL_ROOT)/ qtbase/prefixというパスがあります。 make installを実行する前に$(INSTALL_ROOT)/ qtbase/prefixをqtdeclarative/prefixに置き換えました。これが問題だろうか?プレフィックスを渡す正しい方法は何ですか? – dvc

+0

何もする必要はありません。 configureに与えられたインストール接頭辞を使用して、buildディレクトリでconfigureを実行します(env変数ではなく!)。次に、あなたが望むモジュールをビルドしてからインストールします。あなたは 'make -j && make -j install'を実行する必要があります。' make install'を直ちに実行すると、速度を上げるために並列ビルドを行う必要があります。 –

+0

qmakeを実行しても./configureファイルは生成されません。そして、tarballには1つもありません。https://download.qt.io/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-opensource-src-5.6.1-1.tar.xz私は行方不明? – dvc

関連する問題