1
votes

I'm using Cygwin on Windows 7, 64-bit. I downloaded the 4.8.3. source and followed the instructions here, putting <qtdir>/bin in PATH along with the path to my chosen compiler. Configure fails immediately,

$ ./configure

Creating qmake. Please wait... 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

In file included from ./option.h:45:0, from generators/makefile.h:45, from generators/makefile.cpp:42: ./project.h:45:25: fatal error: qstringlist.h: No such file or directory compilation terminated. make: *** [makefile.o] Error 1

Discussions here and here identify the problem as being with Perl; however Perl is on my system and on the path. To be sure I went and downloaded/installed ActivePerl, after which I added Perl64/bin to the path. Same result. Would very much appreciate some help out with this.

Edit, for completeness:

$ 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

$ echo $PATH

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

Edit: The line that fails is:

#include <qstringlist.h>

This specific error goes away if I replace with an absolute path. (Of course, numerous other errors then arise.) Yet

$whereis qstringlist.h

qstringlist: /cygdrive/c/Qt/4.8.3/include/QtCore/qstringlist.h

which is explicitly -I included in the g++ command, and FWIW

$echo $PATH

... /cygdrive/c/Qt/4.8.3/include/QtCore

Edit: Adding -I/cygdrive/c/Qt/4.8.3/include/QtCore as an explicit option to ./configure does nothing. Seriously, what is going on here...

Update: This question is now effectively worth 250 rep., see here.

2
to me the problem seems to be that the compiler is set to cygwin-g++ and it complains that it doesn't know how to create projects for this type of compilerMihai Sebea
@MihaiSebea Indeed I am trying to compile under cygwin-g++ but could you explain more where you think the problem is arising for it? cygwin-g++ is included in Qt's mkspecs directory. Moreover it happens whether I include -platform cygwin-g++ or not, I would have expected mingw to be the default.Matt Phillips
Phillis As far as i can tell cygwin is supported only under linux .. lists.qt.nokia.com/pipermail/qt-interest/2009-September/… since on windows there is a different folder structure that is not supported .Mihai Sebea
@MihaiSebea cygwin.com Cygwin is a Windows program.Matt Phillips

2 Answers

1
votes

Please, take a look to supported platforms, there you have instructions on supported compilers, which could give you hints on your problem.

As far as i read, in recent windows you need MSVC, and I don't see anything about cygwin.

0
votes

What is the exact configure lines you are using? Try this:

./configure -I/cygdrive/c/Qt/4.8.3/include/

If it is still complaining about not being able to find the headers, then that is bizarre indeed. Another option you can try is:

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