私はブログを持っていないので、それをしようとしている人を助けるための投稿です。
これはLinuxでも機能します。自由に編集して改善してください。
注:Windowsで 自動化されたスクリプトを使用してGITソースからコンパイルする に書いた別の記事もあります。この投稿に違いが示されているので、Linux用に変更できます。
この記事は継続的に更新されています。これがあなたを助けるなら、それが人々を助けて、役に立たないことを私が知ることができるように、それを「親指」を与えてください。
コメントがある場合やタイプミスを見つけた場合は、修正できるようお知らせください。
まず、32ビットバージョンと64ビットバージョンのどちらをコンパイルするかは問題ではありません。唯一の違いは、異なる環境変数を初期化するVisual Studioから選択する必要があるコマンドプロンプトショートカットです。
これから始めましょう:
Perlをダウンロードしてインストールします。 ダウンロードリンク
Pythonをダウンロードしてインストールします。 ダウンロードリンク
ダウンロードしてインストールWindows SDK(おそらく必要ではないが推奨)Windows 8を使用しているので、私が使用したバージョンは次のとおりです。 ダウンロードリンク 、それ以外の場合は、Windowsの適切なバージョンを見つけます。
ダウンロードしてインストールDirectX SDK(おそらくでコンパイルしたい場合に必要) OpenGL) ダウンロードリンク
ダウンロードしてjomフォルダー(Linuxには不要)(jomは、VSで並行してコンパイルするためのツールです。nmakeでこれを行う方法がありますが、私はそれに精通していません)- ダウンロードリンク
Qt Opensourceをダウンロードし、C:\Qt\Qt5.6
と言うように展開します。 qtbase
はC:\Qt\Qt5.6\qtbase
にあります。
Windowsのみ:本当に完全に静的ですか?
通常、静的なコンパイルを選択した場合でも、コンパイラ自体はライブラリを静的にマージしません。コンパイルされたソースをコンパイラ(Visual Studio)に対して完全に静的にするには、QtのQMAKEファイルでこの調整を行う必要があります。
(Qtソースディレクトリから始まる)ファイルに移動し、2012以降のバージョンでは、どこでも正しいバージョンを使用します(win32-msvc2015など) :
a。 VS2012の場合:qtbase\mkspecs\win32-msvc2012\qmake.conf
b。 VS2010の場合:qtbase\mkspecs\win32-msvc2010\qmake.conf
c。 Qt 5.5.0以降の場合(すべてのVSバージョン):qtbase\mkspecs\common\msvc-desktop.conf
次の行を編集します
QMAKE_CFLAGS_RELEASE = -O2 -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
に
QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd
注:Qt 5.6+には、これを行う設定パラメーター-static-runtime
があります。 Qtの新しいバージョンでは、これを手動で行う必要がなくなる場合があります。
LinuxまたはWindowsでターミナルを起動し、Visual Studioのターミナルを起動します(正しい環境変数が設定されているか、または vcvarsall.bat を使用します)。コマンドプロンプトを起動し、これを自動的に実行するには、[スタート]、[すべてのプログラム]に移動します。
8より前のWindowsバージョンの場合:Microsoft Visual Studio 201xフォルダーを見つけて、コマンドプロンプト(32ビットの場合はx86、64ビットの場合はx64)を起動します。
Windows 8の場合:Startに移動し、「cmd」と入力すると、コマンドプロンプトで使用可能なすべてのバージョンが表示されます。適切なVisual Studioバージョン(32ビットの場合はx86、64ビットの場合はx64)を選択します。
以下は、それがどのように見えるかのスクリーンショットです。存在する場合は常に「ネイティブ」を選択する傾向があります。
9。
VS2012の場合:VS2012に対して次のコマンドを実行します
set QMAKESPEC=win32-msvc2012
set QTDIR=C:\Qt\Qt5.7\qtbase
set PATH=C:\Qt\Qt5.7\qtbase\bin;%PATH%
注:QMAKESPEC
環境変数の設定は、Qtバージョン5.8以降では間違っていると見なされます。新しいバージョンでは実行しないでください。
動的リンクの場合(8 GBが必要)
configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop
例のない動的リンクの場合(2 GBが必要)
configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop -nomake examples -nomake tests
Now the last command depends on what you want to compile. Just type configure -help and see what the available command-line parameters are.
静的リンクの場合(70 GBが必要です。はい、おかしいです。例やデモを作成しないほうが合理的です)。
configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop -static
例のない静的リンクの場合(4 GBが必要で、より理にかなっています)。
configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop -static -nomake examples -nomake tests
これには1〜2分かかり、次のようにjomを使用します(C:\ Qt\jomで抽出されたと仮定)。
C:\Qt\jom\jom.exe -j 50
50は、使用するコアの数を表します。 8個のスレッドがあり、8個だけを使用するとすべてのコアが完全に占有されるわけではないため、50個を使用します。より多くのコアを使用することをお勧めします。
VS2010の場合:VS2010に対して次のコマンドを実行します
set QMAKESPEC=win32-msvc2010
set QTDIR=C:\Qt\Qt5.7\qtbase
set PATH=C:\Qt\Qt5.7\qtbase\bin;%PATH%
注:QMAKESPEC
環境変数の設定は、Qtバージョン5.8以降では間違っていると見なされます。新しいバージョンでは実行しないでください。動的リンクの場合(8 GBが必要)
configure -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop
例のない動的リンクの場合(2 GBが必要)
configure -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop -nomake examples -nomake tests
最後のコマンドは、何をコンパイルするかによって異なります。 configure -helpと入力して、使用可能なコマンドラインパラメーターを確認してください。静的リンクの場合(70 GBが必要です。はい、おかしいです。例やデモを作成しないほうが合理的です)。
configure -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop -static
例のない静的リンクの場合(4 GBが必要で、より理にかなっています)。
configure -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop -static -nomake examples -nomake tests
これには1〜2分かかり、次のようにjomを使用します(C:\ Qt\jomで抽出されたと仮定)。
C:\Qt\jom\jom.exe -j 50
50は、使用するコアの数を表します。 8個のスレッドがあり、8個だけを使用するとすべてのコアが完全に占有されるわけではないため、50個を使用します。より多くのコアを使用することをお勧めします。
Linux over Windowsには小さな違いが1つあります。 Linuxでは、コンパイル後にinstallをお勧めします。正直なところ、これが問題なく動作する唯一の方法です。
Linuxで次のコマンドを実行します。パスをQtソースの正しいパスに置き換えることを忘れないでください
export QMAKESPEC=linux-g++
export QTDIR=/home/username/Qt5.7/qtbase
export PATH=/home/username/Qt5.7/qtbase/bin:$PATH
注:QMAKESPEC
環境変数の設定は、Qtバージョン5.8以降では間違っていると見なされます。新しいバージョンでは実行しないでください。
コンパイル済みソースをディレクトリ/home/username/Qt5.7-install
にインストールするとします。この場合、以下をconfigureコマンドのanyに追加します。
-prefix /home/username/Qt5.7-install
警告:同じソースディレクトリにインストールしないでください。それは明らかに間違っています!
-prefix
が設定されていない場合、デフォルトのパスが選択されます。これは/usr/local/
です。ルートを使用して何かをインストールするのは好きではありません。可逆性とアップグレードが問題にならないように、ユーザーフォルダーにインストールすることを常に好みます。
以下は、何をしたいかによって異なるconfigure
コマンドです。
動的リンクの場合(8 GBが必要)
./configure -debug-and-release -opensource -platform linux-g++ -opengl desktop
例のない動的リンクの場合(2 GBが必要)
./configure -debug-and-release -opensource -platform linux-g++ -opengl desktop -nomake examples -nomake tests
これで、最後のコマンドはコンパイルする内容に依存します。 ./configure -help
と入力して、使用可能なコマンドラインパラメーターを確認します。
静的リンクの場合(70 GBが必要です、はい、おかしいです。例とテストを作成しないほうが合理的です)。
./configure -debug-and-release -opensource -platform linux-g++ -opengl desktop -static
例のない静的リンクの場合(4 GBが必要で、より理にかなっています)。
./configure -debug-and-release -opensource -platform linux-g++ -opengl desktop -static -nomake examples -nomake tests
作成が完了したら、makeコマンドを実行します
make -j 50
50は、使用するコアの数を表します。 8個のスレッドがあり、8個だけを使用するとすべてのコアが完全に占有されるわけではないため、50個を使用します。より多くのコアを使用することをお勧めします。
コンパイルが完了するまで2時間以上待ちます。
掃除! Windows用の次のコマンドを使用すると、スペースを大幅に節約できます:C:\Qt\jom\jom.exe clean
そして、Linux用のこのコマンド:make clean
コンパイル済みフォルダーのサイズを8 GBから2.5 GB(動的リンクの場合)および70 GBから35 GB(静的リンクの場合)に縮小できます。
Qt Creatorでこのコンパイル済みバージョンを使用するには:
「追加」をクリックして、qtbaseのビンがあるフォルダーからqmakeを選択します。
C:\ Qt\Qt5.7\qtbase\bin\qmake.exe
(またはLinuxの場合、コンパイルされたQtソースをインストールしたパスを選択します。これは、このチュートリアルの/home/username/Qt5.7-install/qtbase/bin/qmake
と同等です)
プロジェクトを開くだけで、追加したキットを選択するように求められます。
楽しい :)