Can';t从源代码在Windows中构建Qt,已安装Perl,但仍然可以';找不到标题
我在Windows7上使用Cygwin,64位。我下载了4.8.3。源代码,并按照说明,将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
/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++参数