Compile Qt 5.1.1 with Cygwin (64bit) shipped MinGW64 compiler on Windows 7
-
wrote on 23 Oct 2013, 14:47 last edited by
strange that it would look for an exe when there is a bat file there.
I think I am using the tarball source code. Maybe that is throwing things off....
-
[quote]
@- cd qtbase
- C:\qt_src\qtbase\configure.bat -prefix C:\Qt5d -debug -developer-build -opensource -confirm-license -static -platform cygwin-g++ -qt-zlib -qt-libpng -qt-libjpeg -verbose
@
[/quote]
Don't go into 'qtbase'. Call configure.bat in C:\qt_src, and then call make in C:\qt_src.
-
wrote on 23 Oct 2013, 15:01 last edited by
first I had to resintall the Zip file instead of the tarball and I got a little further. It didn't like my -verbose so I took that out.
Then I ran it again and I got:
make.exe - Unable to Locate Component
This application has failed to start because msys-1.0.dll was not found. Re-installing the application may fix this problem.What does msys have to do with all of this?
Also I am not going down to qtbase. I am calling this from the qt_src level.
-
wrote on 23 Oct 2013, 15:09 last edited by
so I cleaned up my PATH so only the one mingw toolchain was visible (Qt's).
Ran again and got this:
C:\qt_src>configure -prefix C:\Qt5d -debug -developer-build -opensource -confirm-license -static -platform cygwin-g++ -qt-zlib -qt-libpng -qt-libjpeg
- cd qtbase
- C:\qt_src\qtbase\configure.bat -prefix C:\Qt5d -debug -developer-build -opensource -confirm-license -static -platform cygwin-g++ -qt-zlib -qt-libpng -qt-libjpeg
This is the Qt for Windows Open Source Edition.
You have already accepted the terms of the license.
Creating qmake...
Cleaning qmake failed, return code -1 -
wrote on 23 Oct 2013, 15:10 last edited by
duh! I still have cygwin in there!!!!
changed to win32-g++
seems to be compiling...
-
wrote on 23 Oct 2013, 15:24 last edited by
got this:
Running configuration tests...
WARNING: The DirectX SDK could not be detected:
There is no Direct X SDK installed or the environment variable "DXSDK_DIR" is not set.
Disabling the ANGLE backend.WARNING: Using OpenGL ES 2.0 without ANGLE.
Specify -opengl desktop to use Open GL.
The build will most likely fail.config info...
then it said to:
Qt is now configured for building. Just run mingw32-make.This doesn't exist in the tool chain. neither does make.
chris -
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++
-
wrote on 24 Oct 2013, 02:38 last edited by
I added -opengl desktop and just did a make. Don't why it is compiling now but it is. I tried to re-configure but that didn't work but it is compiling which is a good sign!
-
wrote on 24 Oct 2013, 02:59 last edited by
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 -
wrote on 24 Oct 2013, 04:12 last edited by
path issue!!! Doesn't like " " in the path!
-
wrote on 24 Oct 2013, 06:05 last edited by
still compiling and linking...
-
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) -
wrote on 24 Oct 2013, 06:38 last edited by
i have a quad core processor. I guess I can stop it and resubmit with -j 10 (wee hoo! it is flying now! ) LOL
-
Enjoy! :D
-
wrote on 24 Oct 2013, 15:52 last edited by
Gosh I must have too old a system. It went for 8 hours and still didn't finish! I had to reboot and try again with less -j #. My computer was very unresponsive.
-
wrote on 25 Oct 2013, 14:16 last edited by
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>& -
wrote on 26 Oct 2013, 19:24 last edited by
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.
-
wrote on 28 Oct 2013, 04:00 last edited by
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!
26/36