22

Windows上に構築されたQtをインストールする方法に関する情報が見つかりません。
ウィキの記事「MacとLinuxでシャドウビルドを設定する方法」に-prefixは、スクリプトのオプションの説明がありますconfigureが、このオプションはWindowsでは使用できません。
ビルドフォルダから直接Qtを使用できることは知っていますが、インストール手順を実行しないのは正しいことではないようです。このアプローチの問題の1つは、サイズです。Qtのビルドフォルダーは約4GBのスペースを必要としますが、バイナリインストーラーを使用してインストールした後、Qtは約1GBのスペースを必要とします。違いは、ビルド中に作成された一時ファイルによるものだと思います。いくつかのインストール手順で、必要なファイルのみをインストール(コピー)して、ビルドフォルダーに一時ファイルを残しておくことを願っています。

4

8 に答える 8

28

İsmailが言ったように、Windows上のQtのインストール手順はありません。ただし、次の操作を実行することで近似を試みることができます。

  1. クリーニングビルドフォルダで
    実行して、すべての一時ファイルを削除します。make clean

  2. コピービルドフォルダをQtを「インストール」したい場所に移動します。それを呼びましょうINSTALL_DIR
  3. qmake.exe
    実行可能ファイルでハードコードされたパスの修正実行qmake -queryして、qmakeおよび
    aにコンパイル(ハードコード)されたパスを確認します。INSTALL_DIRビルドフォルダを含むパスをusing qmake -set(1)に置き換えて修正します。
    または
    b。その中の新しいQtパスを指定 qt.confするbinサブフォルダーにファイルを作成します。INSTALL_DIR
  4. パスを含めるための現在のディレクトリの追加
    Qtが提供するバイナリディストリビューションでは、pwdはに含まれているQMAKE_INCDIRため、プロジェクトのインクルードパスは「。」になります。これは、カスタムビルドのQtではデフォルトでは発生しないため、mkspecs/YOUR-PLATFORM-HERE/qmake.confファイルに次の行を追加する必要があります。
    QMAKE_INCDIR += "."
  5. prlファイルの修正
    Qtコンポーネントをプロジェクトファイル(などCONFIG += uitools)に追加すると、Qt%QTDIR%/lib/QtUiTools.prlはそのコンポーネントのライブラリ依存関係を検索します。これらのファイルには、Qtが構成および構築されたディレクトリのハードコードされたパスが含まれます。そのビルドディレクトリを、すべてのlib/*.prlファイルのQtを移動したディレクトリに置き換える必要があります。
  6. ソースを利用可能
    にするシャドウビルド(ソースを含むフォルダー以外のフォルダー内で作成されたビルド)を作成した場合、includeサブフォルダー内のヘッダーは元のヘッダーにのみ転送されます。例えば; BUILD_DIR\include\QtCore\qabstractanimation.hソースを含むフォルダーの存在に依存したく
    #include "SRC_DIR/src/corelib/animation/qabstractanimation.h"
    ない場合は、SRC_DIR/srcサブフォルダーを宛先フォルダーにコピーし、フォルダー内のすべてのヘッダーを修正して、サブフォルダーincludeの新しい場所に転送する必要がありsrcます。

結論:
WindowsでのQtのビルドプロセスでは、ビルド後にQtを移動(インストール)するのが非常に面倒です。あなたはこれをするべきです...まあ私はこのすべての問題を経験する正当な理由を見つけることができません。

覚えておいてください
簡単な方法は、ビルド後にQtを残したいフォルダーにQtのソースを配置し、このフォルダーにビルドを作成することです。これにより、上記の1と4を除くすべての手順が不要になります。

1)
設定した変数qmake -setはレジストリキーに保存されます
HKEY_CURRENT_USER\Software\Trolltech\QMake\<QMAKE_VERSION>
このため、同じバージョンのqmakeを持つ異なるバージョンのQtを使用して、異なるプロジェクトを作成したい場合に問題が発生する可能性があります。この場合、より良い解決策はqt.confファイル(実際にはQtのインストールごとに1つのファイルが必要なためファイル)を使用することです(オプション3b)。

上記の情報の多くは、GabeRudyによって作成されたRelocationTrickswikiページからのものです。彼のQt(Qt4)Opensource Windows Installers of Pre-built Binaries with MSVC 2008プロジェクトをチェックしてください。これにより、上記の問題を簡単に解決できます。

于 2011-01-15T16:49:28.447 に答える
14

この回答は、上記のPiotrの(現在最も評価の高い)回答のステップ3と5に代わるものですが、達成しようとしていることによっては、彼の回答に他のステップが必要になる場合があります。

要約すると、Qtディレクトリを目的の場所に移動した後、公式のQtインストーラーのいずれかをダウンロードし、次のコマンドライン引数を指定して実行します。

cd <path>
installer.exe --runoperation QtPatch windows <path> qt5

Qtディレクトリ( Qt 5を使用している場合はディレクトリ)<path>を移動した後、そのフルパスに置き換えます。Qt 4を使用している場合はqtbase、最後の引数を省略してください。qt5

これにより、qmake.exe、.prlファイルなどのハードコードされたパスが修正されます。それはあなたに公式のインストーラーがその点で持っているのと全く同じ振る舞いを与えます。

最初の動きのnmake "INSTALL_ROOT=\somewhere" installために、私のために働きます。これが、Piotrの回答のステップ1と2です。そして、私はステップ4または6、FWIWを必要としませんでした。

于 2013-07-14T14:22:18.730 に答える
8

次のようなプレフィックスオプションを使用して、WINDOWS(Visual Studioビルド)でQT5を構成できます。

configure -prefix C:\the\path\I\want ...

次に、電話します。

nmake
nmake install

後者はQtをC:\ the \ path \ I\wantにインストールします。

これまでのところ、Qt5.2.1と5.3.xで問題なく実行できました。したがって、以前の問題は今では修正されているようです。

于 2014-08-04T14:16:33.833 に答える
7

Windowsに「makeinstall」がないと主張するのは非常に奇妙なことです。

私は何度もそれを使用しました、そしてそれが他のプラットフォームでそうであるものではないことに同意します、しかしそれはその目的を果たします。

QtのmakeinstallをWindowsで使用する方法(cmdから):

configure
(n/mingw32-)make
(n/mingw32-)make docs
(n/mingw32-)make install

make installビットは、ソースディレクトリを削除できるようにするために必要なすべてのヘッダーをコピーします。すべてのオブジェクトと不要なものを削除します。

del /S /Q *.obj lib\*.dll
rmdir /S /Q docs-build qmake tools src

これにより、ソースディレクトリを削除できます。これがQtソースコードのデバッグにどのような影響を与えるかはわかりませんが、シャドウビルドのサイズが確実に縮小されます。最小サイズで32ビットと64ビットのビルドを維持するために使用します。

于 2011-01-15T17:04:09.980 に答える
3

Windows上のQtはでインストールできません。Windows用make installのQtインストーラーは、新しいインストール場所のdllとpdbsにパッチを適用するだけです。

私が提案するのは、インストールしたい場所にシャドウビルドを行うことです。手動で*.objファイルを削除して、スペースを節約できます。

于 2011-01-15T11:33:57.920 に答える
3

Qt独自のビルド手順は、各Makefile内で検索/置換することにより、これがどのように行われるかを示しています。ソースがC:\ qt-4.8.3に抽出され、そのディレクトリ内でビルドが実行されたと仮定して、次のようにします。

fart -c -i -r Makefile* $(INSTALL_ROOT)\qt-4.8.3 $(INSTALL_ROOT)\my-install-dir
set INSTALL_ROOT=
mingw32-make install

次に、qmakeに新しいインストールパスを通知する構成ファイルを作成します。テキストファイルを作成しますC:\ my-install-dir \ bin \ qt.conf:

[Paths]
Prefix=C:/my-install-dir
Translations = translations

次に、最後のステップとして(Randyが親切に指摘したように)、qmake.exeにパッチを適用する必要があります。これは、QtMoveと呼ばれる単純なユーティリティを使用して実行できます。この同じツールは、すべてのprlファイルを自動的に更新します。

于 2012-11-07T21:35:59.650 に答える
2

QtMove(http://www.runfastsoft.com)がこれを簡単に実行できる簡単なユーティリティがあります。

再配置されたqmake.exeを実行して.proファイルをビルドし、すべてを新しいQtライブラリにリンクする必要があります。

于 2011-10-20T22:34:48.883 に答える
2

ステップ1:Qtを移動する

  • カット&ペースト
  • 現在のディレクトリ-C:\ tools \ Qt
  • 宛先ディレクトリ-C:\ sim \ dep \ Qt

ステップ2:古いQtディレクトリを取得する

  • C:\ sim \ dep \ Qt \ 2010.02.1\Qtに移動します
  • .qmake.cacheを開きます
  • 変数QT_SOURCE_TREEを検索します
  • QT_SOURCE_TREEの値に注意してください
  • 私はC:\ tools \ Qt \ 2010.02.1\Qtでした

ステップ3:パッチQt

  • C:\ sim \ dep \ Qt \ 2010.02.1\binに移動します
  • 構文はqpatch.exelistoldDirnewDirです。
  • qpatch.exe files-to-patch-windows C:\ tools \ Qt \ 2010.02.1 \ Qt C:\ sim \ dep \ Qt \ 2010.02.1 \ Qt

ステップ4:環境変数を設定する

  • QTDIR = C:\ sim \ dep \ Qt \ 2010.02.1\Qtを設定します
  • QMAKESPEC = C:\ sim \ dep \ Qt \ 2010.02.1 \ Qt \ mkspecs \win32-g++を設定します
  • set PATH =%path%; C:\ sim \ dep \ Qt \ 2010.02.1 \ Qt \ bin
  • set PATH =%path%; C:\ sim \ dep \ Qt \ 2010.02.1 \ bin

これらすべてをバッチファイルで行うことができます。これは私が解決するのにかなりの時間を要し、それ以来私に多くの時間を節約してくれました。これは、Qtインストールを新しい場所に自動的に更新するためのスクリプトです。バッチファイルはこちらから入手できます。

于 2011-01-31T09:36:42.843 に答える