過去数日間、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にコピーされませんでした。これは別の問題です。
基本的には、ビルドディレクトリから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
コマンドを参照)。
シャドウビルドをホームフォルダーからC:のフォルダーに移動しましたが、機能しました。私はそれが奇妙であることを知っています、しかしそれは起こったことです。 syncqtのバグに違いないと思います。
少なくとも、インクルードファイル(qscriptengine.hなど)が見つからないという問題は、インクルードパスに\ qt\4.5.2-sources\include\Qtを一時的に追加することで解決できます。
Windows上のIIRCでは、サンドボックスインストールを実行する必要があります。UNIXでは一般的な「makeinstall」を実行できません。
Qtのビルドには通常、-prefix-installと-prefix/fooの2つのオプションがあります。
いずれかを選択するため、-prefixでmake installと入力できない場合は、Windowsでは-prefix-installルートを使用する必要があると思います。これは、Qtを抽出するディレクトリへのサンドボックスインストールです。
Make installを試していなかったと思いますか?だからそれを試してみてください。 Qtをソースから離れた別のディレクトリにインストールする必要があります。