Windows 7、64ビットでCygwinを使用しています。4.8.3 をダウンロードしました。source を開き、ここの指示に従い<qtdir>/bin
、選択したコンパイラへのパスとともに PATH を入力します。構成はすぐに失敗します。
$ ./configure
qmake を作成しています。お待ちください... g++ -c -o makefile.o -pipe -DQMAKE_OPENSOURCE_EDITION -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/cygdrive/c/Qt/4.8.3/include -I/cygdrive/c/Qt/4.8.3/include /QtCore -I/cygdrive/c/Qt/4.8.3/src/corelib/global -I/cygdrive/c/Qt/4.8.3/src/corelib/xml -I/cygdrive/c/Qt/4.8.3 /tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/cygdrive/c/Qt/4.8.3/mkspecs/cygwin-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED generators/makefile.cpp
./option.h:45:0 から、generators/makefile.h:45 から、generators/makefile.cpp:42 からインクルードされたファイル: ./project.h:45:25: 致命的なエラー: qstringlist.h: いいえそのようなファイルまたはディレクトリのコンパイルは終了しました。make: *** [makefile.o] エラー 1
こことここでの議論は、問題が Perl にあることを示しています。しかし、Perl は私のシステムとパスにあります。確かに、ActivePerlをダウンロードしてインストールした後Perl64/bin
、パスに追加しました。同じ結果です。これについて何か助けていただければ幸いです。
完全を期すために、次のように編集します。
$ whereis perl
perl: /bin/perl.exe /usr/bin/perl.exe /usr/share/perl /cygdrive/c/Perl64/bin/perl.exe /cygdrive/c/Perl64/bin/perl516.dll
$ エコー $PATH
/cygdrive/c/Perl64/bin:/cygdrive/c/gcc/bin:/bin: ... /cygdrive/c/Qt/4.8.3/bin
編集:失敗する行は次のとおりです。
#include <qstringlist.h>
絶対パスに置き換えると、この特定のエラーはなくなります。(もちろん、他の多くのエラーが発生します。)
$whereis qstringlist.h
qstringlist: /cygdrive/c/Qt/4.8.3/include/QtCore/qstringlist.h
これは g++ コマンドに明示的に-I
含まれており、FWIW
$echo $PATH ... /cygdrive/c/Qt/4.8.3/include/QtCore
編集:-I/cygdrive/c/Qt/4.8.3/include/QtCore
明示的なオプションとして追加しても何もし./configure
ません。真剣に、ここで何が起こっているのか...
更新: この質問は現在、事実上 250 担当者の価値があります。こちらを参照してください。