Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt 4.7.3 build on Cygwin



  • The latest source code doesn't even compile on Cygwin. I get the following error:
    ...
    /usr/src/qt-everywhere-opensource-src-4.7.3/src/corelib/global/qglobal.cpp: In static member function static QSysInfo::WinVersion QSysInfo::windowsVersion()': /usr/src/qt-everywhere-opensource-src-4.7.3/src/corelib/global/qglobal.cpp:1731: error: cannot convertOSVERSIONINFOW*' to _OSVERSIONINFOA*' for argument1' to `BOOL GetVersionExA(_OSVERSIONINFOA*)'
    make: *** [qglobal.o] Error 1



  • By changing the code from
    OSVERSIONINFOW osver;
    to
    OSVERSIONINFO osver;

    makes it work.



  • I figured that one out. Actually look at all of the fixes I had to do:
    http://bugreports.qt.nokia.com/browse/QTBUG-20342?focusedCommentId=158621#comment-158621

    Now I'm trying to disable script build with "./configure -no-script ..." because Collector.cpp can't compile but I have to reconfigure everything. Running configure deletes all the objects files!!! This means rebuilding everything will take another 96 minutes!!!

    Nobody ever tried building Qt on Cygwin?? This is mediocre.



  • Features that would be great to add to the configure script are:

    • The ability not to build the examples (like before)
    • The ability to configure without deleting all object files
    • The ability to build both static and dynamic versions at the same time


  • The latter I meant:

    • The ability to build both static and dynamic versions of the final Qt library at the same time.


  • [quote author="philippeb8" date="1310566866"]- The ability not to build the examples (like before)[/quote]

    Has the -nomake <package> (examples, demos, tests, etc.) parameter been removed recently?



  • So this is the option I was looking for. But I can't run configure again because it'll delete a whole day of compilation.



  • Just remove all the unwanted targets from the Makefile.



  • Thanks but it's too late; the build is complete after a day.



  • JFYI: You can interrupt the build process at any time you want, make will skip all the targets which have been built already and pick up the work where it stopped.



  • BTW I would suggest renaming the option:
    -nomake example

    To:
    -no-example

    Because this is the convention followed by other configure scripts.


Log in to reply