Compile Qt 5.1.1 with Cygwin (64bit) shipped MinGW64 compiler on Windows 7
-
You have two choices:
- Install the DirectX SDK, or
- Add "-opengl desktop" to your configuration flags (your graphics card drivers needs to support OpenGL 2.0 or newer).
In either case, make sure you clean your source tree first and the re-configure.
If you're using the copy of MinGW that came with Qt 5.1, then mingw32-make should be in the 'bin' folder together with g++
-
Ok. it stopped compiling. Here is what it is complaining about:
mingw32-make[4]: Entering directory 'C:/qt_src/qtbase/src/widgets'
(set PATH=C:\qt_src\qtbase\lib;%PATH:)=^)%) & C:\qt_src\qtbase\bin\uic.exe dialogs\qfiledialog.ui -o ui_qfiledialog.h
Makefile.Debug:647: recipe for target 'ui_qfiledialog.h' failed
mingw32-make[4]: *** [ui_qfiledialog.h] Error 255
mingw32-make[4]: Leaving directory 'C:/qt_src/qtbase/src/widgets'
Makefile:34: recipe for target 'debug' failed
mingw32-make[3]: *** [debug] Error 2
mingw32-make[3]: Leaving directory 'C:/qt_src/qtbase/src/widgets'
Makefile:411: recipe for target 'sub-widgets-make_first' failed
mingw32-make[2]: *** [sub-widgets-make_first] Error 2
mingw32-make[2]: Leaving directory 'C:/qt_src/qtbase/src'
Makefile:41: recipe for target 'sub-src-make_first' failed
mingw32-make[1]: *** [sub-src-make_first] Error 2
mingw32-make[1]: Leaving directory 'C:/qt_src/qtbase'
makefile:56: recipe for target 'module-qtbase-make_first' failed
mingw32-make: *** [module-qtbase-make_first] Error 2 -
Yes, it takes several hours on old PCs (it took over 3 hours to compile Qt 4.8 on my old Windows XP laptop; can't remember its specs)
If you have a dual-core processor, passing "-j 2" or "-j 3" into mingw32-make will let it to compile with 2 or 3 threads in parallel, speeding things up a little.
You can also only compile a subset of modules. Example:
@
mingw32-make -j 3 module-qtbase
@
...this will only compile the modules in the qtbase subfolder (http://qt-project.org/wiki/Qt_5_Structure shows you which modules are in which subfolder) -
Enjoy! :D
-
ok. after several attempts to compile the windows software I am still having issues where it craps out and stop executing the make process. Here are the last mingw32-make commands before it exitted:
mingw32-make[6]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets/validators'
mingw32-make[5]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets/validators'
mingw32-make[6]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets/wiggly'
mingw32-make[5]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets/wiggly'
mingw32-make[6]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets/windowflags'
mingw32-make[5]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets/windowflags'
mingw32-make[6]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets/styles'
mingw32-make[5]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets/styles'
mingw32-make[4]: Leaving directory 'C:/qt_src/qtbase/examples/widgets/widgets'
mingw32-make[3]: Leaving directory 'C:/qt_src/qtbase/examples/widgets'
mingw32-make[2]: Leaving directory 'C:/qt_src/qtbase/examples'
mingw32-make[1]: Leaving directory 'C:/qt_src/qtbase'
makefile:56: recipe for target 'module-qtbase-make_first' failed
mingw32-make: *** [module-qtbase-make_first] Error 2my config is this:
configure -prefix C:\Qt5d -developer-build -opensource -confirm-license -static -platform win32-g++ -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop 1>R.log 2>& -
Ok. I have given up trying to build Qt on Windows XP 64 from source. No configuration selection will make this ever complete to the end of the make process.
What I wanted to do in order to support my bindings effort is a way to get to the source code while executing. Since GDB was barking about finding files I thought I needed to rebuild QT from src. No. I just needed to learn how to in GDB to go find the source files. Well that worked as I can step into the Qt's src but I still cannot figure out why I am not getting my sample program to display labels when I do all the constructing of that label from my Ada code. The CPP code can do it just fine so I am confused as to why. I can build a central widget, I can display a push button from Ada but not text labels. Crazy. I thought maybe it was a QFlags issue but am not sure why. Maybe there is a way to say to Qt , "hey, draw that widget now" function. This is frustrating to the nth degree, especially when only some things work.
-
I've never heard of 8+ hour builds before... it might have gotten stuck in a loop, or having too many threads might have caused its efficiency to plummet. I usually spawn N+1 threads, where N = # of cores.
I'm sorry I'm unable to provide more help. May I suggest subscribing to and asking at the "Interest mailing list":http://lists.qt-project.org/mailman/listinfo/interest, where folks are more familiar with the low-level internals of Qt and might have experience with cross-language bindings. Or ask in an Ada forum.
-
Well I got lucky tonight and figured out what was going on. My sample Ada program can generate the same objects as a CPP program can. No issues with virtual object either.
Next biggie is to determine how to get signals/slots to work.
Thanks for all of your help.
chris
-
Glad to hear that things are looking better.
All the best with your binding efforts!