【发布时间】:2012-10-24 10:34:11
【问题描述】:
我在 Windows 7 64 位上使用 Cygwin。我下载了4.8.3。源并按照说明here,将<qtdir>/bin 连同我选择的编译器的路径一起放入PATH。配置立即失败,
$ ./配置
创建 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 /工具/共享-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生成器/makefile.cpp
在 ./option.h:45:0 包含的文件中, 来自生成器/makefile.h:45, 来自 generators/makefile.cpp:42: ./project.h:45:25: 致命错误: qstringlist.h: 没有这样的文件或目录编译 终止。 make: *** [makefile.o] 错误 1
here 和here 的讨论指出问题出在 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++ 命令和 FWIW 中明确包含 -I
$echo $PATH ... /cygdrive/c/Qt/4.8.3/include/QtCore
编辑:将-I/cygdrive/c/Qt/4.8.3/include/QtCore 作为显式选项添加到./configure 没有任何作用。说真的,这是怎么回事……
更新:这个问题现在实际上值得 250 次重复,请参阅 here。
【问题讨论】:
-
对我来说问题似乎是编译器设置为 cygwin-g++ 并且它抱怨它不知道如何为这种类型的编译器创建项目
-
@MihaiSebea 确实我正在尝试在 cygwin-g++ 下编译,但您能否解释一下您认为问题出在哪里? cygwin-g++ 包含在 Qt 的
mkspecs目录中。此外,无论我是否包含-platform cygwin-g++,都会发生这种情况,我希望mingw是默认值。 -
Phillis 据我所知,cygwin 仅在 linux 下受支持。lists.qt.nokia.com/pipermail/qt-interest/2009-September/… 因为在 Windows 上不支持不同的文件夹结构。
-
@MihaiSebea cygwin.com Cygwin 是一个 Windows 程序。
标签: windows qt build cygwin configure