Can';t从源代码在Windows中构建Qt,已安装Perl,但仍然可以';找不到标题

Can';t从源代码在Windows中构建Qt,已安装Perl,但仍然可以';找不到标题,windows,qt,build,cygwin,configure,Windows,Qt,Build,Cygwin,Configure,我在Windows7上使用Cygwin,64位。我下载了4.8.3。源代码,并按照说明,将/bin与所选编译器的路径一起放入路径中。配置立即失败 美元/配置 创建qmake。请 等待g++-c-o makefile.o-pipe-DQMAKE_OPENSOURCE_EDITION-g-I。 -Igenerators-Igenerators/unix-Igenerators/win32-Igenerators/mac-Igenerators/symbian-Igenerators/integrit

我在Windows7上使用Cygwin,64位。我下载了4.8.3。源代码,并按照说明,将
/bin
与所选编译器的路径一起放入路径中。配置立即失败

美元/配置

创建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/global-I/cygdrive/c/Qt/4.8.3/src/corelib/4.8.3/xml-I/cygdrive/c/Qt/Qt/c/Qt/4.8.3/Qt/Qt/Qt/Qt-u-u-u-u-Qt-u-u-Qt-u-u-u-Qt-u-u-u-DQLIBRARYINFO\u EPOCROOT-DQT\u NO\u TEXTCODEC-DQT\u NO\u unicodables-DQT\u NO\u COMPRESS-I/cygdrive/c/Qt/4.8.3/mkspecs/cygwin-g++-DHAVE\u QCONFIG\u CPP-DQT\u NO\u THREAD-DQT\u NO\u QOBJECT-DQT\u GEOM\u VARIANT-DQT\u NO\u不推荐的生成器/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
。同样的结果。如果你能帮上忙,我将不胜感激

编辑,为完整起见:

$perl在哪里

perl:/bin/perl.exe/usr/bin/perl.exe/usr/share/perl /cygdrive/c/Perl64/bin/perl.exe/cygdrive/c/Perl64/bin/perl516.dll

$echo$PATH

/cygdrive/c/Perl64/bin:/cygdrive/c/gcc/bin:/bin:。。。 /cygdrive/c/Qt/4.8.3/bin

编辑:失败的行是:

#include <qstringlist.h>
编辑:添加
-I/cygdrive/c/Qt/4.8.3/include/QtCore
作为
/configure
的显式选项不会产生任何效果。说真的,这里发生了什么

更新:这个问题现在实际上值得250次重复,请参见。

请看,您有关于受支持编译器的说明,这些说明可能会为您的问题提供提示

据我所知,在最近的windows中,您需要MSVC,而我没有看到任何关于cygwin的信息。

请看一下,这里有关于支持的编译器的说明,可以为您提供有关问题的提示


据我所知,在最近的windows中,您需要MSVC,而我没有看到任何关于cygwin的信息。

您使用的确切配置行是什么?试试这个:

./configure -I/cygdrive/c/Qt/4.8.3/include/
如果它仍在抱怨找不到标题,那么这确实很奇怪。您可以尝试的另一个选项是:

INCLUDE_PATH=/cygdrive/c/Qt/4.8.3/include/ ./configure

您使用的确切配置行是什么?试试这个:

./configure -I/cygdrive/c/Qt/4.8.3/include/
如果它仍在抱怨找不到标题,那么这确实很奇怪。您可以尝试的另一个选项是:

INCLUDE_PATH=/cygdrive/c/Qt/4.8.3/include/ ./configure

对我来说,问题似乎是编译器被设置为cygwin-g++并且它抱怨它不知道如何为这种类型的代码创建项目compiler@MihaiSebea事实上,我正在尝试使用cygwin-g++进行编译,但是您能解释一下您认为问题出在哪里吗?cygwin-g++包含在Qt的
mkspecs
目录中。此外,无论我是否包含
-platform cygwin-g++
,我都希望
mingw
是默认值。。因为在windows上不支持不同的文件夹结构。@MihaiSebea Cygwin是一个windows程序。在我看来,问题似乎是编译器设置为Cygwin-g++并且它抱怨它不知道如何为这种类型的文件创建项目compiler@MihaiSebea事实上,我正试图在cygwin-g++下编译,但是你能吗更多地解释你认为问题是在哪里产生的?cygwin-g++包含在Qt的
mkspecs
目录中。此外,无论我是否包含
-platform cygwin-g++
,我都希望
mingw
是默认值。。因为windows上不支持不同的文件夹结构。@MihaiSebea Cygwin是一个windows程序。我没有看到这个,这很有趣。然而,最终您应该能够从任何编译器的源代码构建Qt?因此,他们没有专门针对g++进行测试,这并不意味着你不能这样做。在安装说明中,他们专门讨论了如何选择替代平台。很难让g++看到qstringlist.h所在的路径。顺便说一句,您是否只使用了plain./configure或使用了任何修饰符?支票:和。例如:configure-platform win32-g++Yes我为
-platform
选项提供cygwin-g++或win32-g++参数,并获得上述结果
/configure
可能默认为以下选项之一。和./configure.exe?这里有人说这对他有帮助:我建议大家看看,他们似乎有一些补丁需要编译QT。我没见过这个,真有意思。然而,最终您应该能够从任何编译器的源代码构建Qt?因此,他们没有专门针对g++进行测试,这并不意味着你不能这样做。在安装说明中,他们专门讨论了如何选择替代平台。很难让g++看到qstringlist.h所在的路径。顺便说一句,您是否只使用了plain./configure或使用了任何修饰符?支票:和。例如:configure-platform win32-g++Yes我为
-pla提供cygwin-g++或win32-g++参数