web-dev-qa-db-ja.com

ソースからqtを構築する方法

過去数日間、QtフォーラムとGoogleで多くの検索を行っていましたが、この質問に対する明確な答えは見つかりませんでした。

異なるインストールディレクトリを指定するように構成するために提供できる-prefixオプション(Windowsでは文書化されていません)を見つけましたが、ビルドはまだで行われているため、これはソースとバイナリの明確な分離ではありませんソースディレクトリと、インストールに必要なファイルがインストールディレクトリにコピーされます。この-prefixオプションを試しましたが、いくつか問題が発生しました。 (つまり、.pdbファイルはインストールディレクトリにコピーされません。)

次に、シャドウビルドの実行について このリンク を見つけましたが、ビルドディレクトリがソースディレクトリと同じレベルでなければならないという大きな制限があります。


Make installを試していなかったと思いますか?だからそれを試してみてください。 Qtをソースから離れた別のディレクトリにインストールする必要があります。

設定した後、nmakeだけでなくnmakeインストールを実行する必要があると言っていますか? nmakeがqmakeから生成されたmakefileを処理し、それらをソースQt dirに配置することは知っていますが、nmakeのインストールが正確に行うこと、つまり、ファイルをインストールするディレクトリと、ファイルをインストールするディレクトリを指定する方法です。

私はすでにこれを行っていることに注意してください:

configure -prefix builddir -platform win32-msvc2005
nmake install

上記の2行の効果は、qtがソースディレクトリでコンパイルされ、プレフィックスで指定されたビルドディレクトリに直接コンパイルされなかったことです。次に、コンパイルされたファイルがビルドディレクトリにコピーされました。 Qtファイルをビルドディレクトリに直接ビルドするものを望んでいました。この方法では、コンパイル中にソースディレクトリ用に4Gbのスペースが必要になります。また、pdbファイルが私のbuildirにコピーされませんでした。これは別の問題です。

21
user152508

基本的には、ビルドディレクトリからconfigure.exeを実行するだけです。例えば:

mkdir \qt\4.5.2-build
cd \qt\4.5.2-build
set PATH=%cd%\bin;%PATH%
\qt\4.5.2-sources\configure.exe -platform win32-msvc2005

ソースが\qt\4.5.2-sourcesにある場合、ビルドは現在のドライブの\qt\4.5.2-buildに入ります。

また、PATHにPerlが含まれている必要があります。ActiveStatePerlをお勧めします。

ビルドディレクトリとソースディレクトリが同じレベルでなければならないというこの制限については、これまで聞いたことがありませんでした。この問題が発生した場合は、シンボリックリンクを作成して回避してみてください(mklinkコマンドを参照)。

15
rohanpm

シャドウビルドをホームフォルダーからC:のフォルダーに移動しましたが、機能しました。私はそれが奇妙であることを知っています、しかしそれは起こったことです。 syncqtのバグに違いないと思います。

0
asandroq

少なくとも、インクルードファイル(qscriptengine.hなど)が見つからないという問題は、インクルードパスに\ qt\4.5.2-sources\include\Qtを一時的に追加することで解決できます。

0
user187114

Windows上のIIRCでは、サンドボックスインストールを実行する必要があります。UNIXでは一般的な「makeinstall」を実行できません。

Qtのビルドには通常、-prefix-installと-prefix/fooの2つのオプションがあります。

いずれかを選択するため、-prefixでmake installと入力できない場合は、Windowsでは-prefix-installルートを使用する必要があると思います。これは、Qtを抽出するディレクトリへのサンドボックスインストールです。

Make installを試していなかったと思いますか?だからそれを試してみてください。 Qtをソースから離れた別のディレクトリにインストールする必要があります。

0
mxcl