It's Qt but it's Moc'ing me : )
-
Hi,
I'm trying to compile Qt using the Qt-Everywhere sources I've configured happily but I am struggling with make. It seems that moc is not compiling. As I'm a little green I'm not sure how to fix this. These are the steps I've taken.
Download and extract the Qt-everywhere Sources from the "Zip file":http://download.qt-project.org/official_releases/qt/5.0/5.0.2/single/qt-everywhere-opensource-src-5.0.2.zip into @D:\Qt\Sources@
Download and extract the mingw64 bit "Zip file":http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.7.2/64-bit/threads-posix/sjlj/x64-4.7.2-release-posix-sjlj-rev8.7z into @D:\Qt\Build\mingw64_x64@
I haven't loaded jom or fart, thought I'd try vanilla first. I am using Strawberry perl, @C:\strawberry\perl\bin@.
I go into the folder @D:\Qt\Build@ and run
@set PATH=D:\Qt\Build\mingw64_x64;C:\strawberry\perl\bin;C:\windows\system32@
Then from the same path I run
@..\Sources\configure -opensource -confirm-license -opengl desktop -debug-and-release@
This works fine and says to run mingw32-make. so I execute
@mingw32-make@
and I get the error that ....\bin\moc.exe failed. Here is the full output :
@
cd qtbase\ && ( if not exist Makefile D:\Qt\Build\qtbase\bin\qmake D:\Qt\Source\qtbase\qtbase.pro -o Makefile ) && mingw32-make -f Makefile
mingw32-make[1]: Entering directory 'D:/Qt/Build/qtbase'
cd src\ && ( if not exist Makefile D:\Qt\Build\qtbase\bin\qmake D:\Qt\Source\qtbase\src\src.pro -o Makefile ) && mingw32-make -f Makefile
mingw32-make[2]: Entering directory 'D:/Qt/Build/qtbase/src'
cd tools\ && ( if not exist Makefile D:\Qt\Build\qtbase\bin\qmake D:\Qt\Source\qtbase\src\tools\tools.pro -o Makefile ) && mingw32-make -f Makefile
mingw32-make[3]: Entering directory 'D:/Qt/Build/qtbase/src/tools'
cd bootstrap\ && ( if not exist Makefile D:\Qt\Build\qtbase\bin\qmake D:\Qt\Source\qtbase\src\tools\bootstrap\bootstrap.pro -o Makefile ) && mingw32-make -f Makefile
mingw32-make[4]: Entering directory 'D:/Qt/Build/qtbase/src/tools/bootstrap'
mingw32-make -f Makefile.Release
mingw32-make[5]: Entering directory 'D:/Qt/Build/qtbase/src/tools/bootstrap'
mingw32-make[5]: Nothing to be done for 'first'.
mingw32-make[5]: Leaving directory 'D:/Qt/Build/qtbase/src/tools/bootstrap'
mingw32-make[4]: Leaving directory 'D:/Qt/Build/qtbase/src/tools/bootstrap'
cd moc\ && ( if not exist Makefile D:\Qt\Build\qtbase\bin\qmake D:\Qt\Source\qtbase\src\tools\moc\moc.pro -o Makefile ) && mingw32-make -f Makefile
mingw32-make[4]: Entering directory 'D:/Qt/Build/qtbase/src/tools/moc'
mingw32-make -f Makefile.Release
mingw32-make[5]: Entering directory 'D:/Qt/Build/qtbase/src/tools/moc'
g++ -Wl,-s -Wl,-subsystem,console -o ......\bin\moc.exe .obj/release_shared/moc.o .obj/release_shared/preprocessor.o .obj/release_shared/generator.o .obj/release_shared/parser.o .obj/release_shared/token.o .obj/release_shared/main.o -L"C:\Program Files (x86)\Gtk+\lib" -LD:/Qt/Build/qtbase/lib -lQt5Bootstrap -LC:\Program Files (x86)\Gtk+\lib -luser32 -lole32 -ladvapi32 -lz
Makefile.Release:87: recipe for target '......\bin\moc.exe' failed
mingw32-make[5]: Leaving directory 'D:/Qt/Build/qtbase/src/tools/moc'
Makefile:34: recipe for target 'release' failed
mingw32-make[4]: Leaving directory 'D:/Qt/Build/qtbase/src/tools/moc'
Makefile:67: recipe for target 'sub-moc-make_first' failed
mingw32-make[3]: Leaving directory 'D:/Qt/Build/qtbase/src/tools'
Makefile:51: recipe for target 'sub-tools-make_first' failed
mingw32-make[2]: Leaving directory 'D:/Qt/Build/qtbase/src'
Makefile:40: recipe for target 'sub-src-make_first' failed
mingw32-make[1]: Leaving directory 'D:/Qt/Build/qtbase'
makefile:52: recipe for target 'module-qtbase-make_first' failed
@Has anyone else had this problem ? Am I perhaps doing something wrong or is there something else I have missed. I'll try with activestate perl a little later but I thought I'd ask as this has happened a few times and google has not been her forthcoming self on this error.
-
Are you aware of "this wiki":http://qt-project.org/wiki/Building_Qt_Desktop_for_Windows_with_MinGW on compilation for MinGW? I am not sure, if this wiki will help also for Qt5, but it might well do also there. For Qt 4.8.4 and MinGW 64 it worked like a charm.
-
I am aware of it, I followed those instructions when the above error for Moc.exe was generated.
It doesn't appear to be compiling the moc.exe I've tried with all the switches used in the wiki. Most of them print out the help for configure so I've removed them from configure.cache.
I've since tried with JOM which reports
@
Error dependant 'C:\Program' does not exist
@
Though I think it's more something to do with bootstrap as both things seem to fail in that folder. Is there perhaps something I need to include or add in the setup ? -
Ha, Ha, Progress, I've managed to get past moc.
As it turns out I installed Gtk+ a while ago and forgot about it. Gtk+ the sneaky little badger setup an INCLUDE and LIB variable in my 'dos' environment which Qt was picking up. Configure was therefore calling the Gtk+ libraries and include paths and those were conflicting with my Qt build. I have now corrected this by adding
@
set LIB=
set INCLUDE=
@
to my environmental setup script to clear the include and lib files. This makes my entire environment setup script (environment.cmd) read as follows :
@
set PATH=D:\Qt\mingw\bin;D:\Qt\JOM;D:\Qt\Fart;C:\Perl64\bin;C:\Python27_64;C:\Windows\System32;
set INCLUDE=
set LIB=
set LANG=en
@To compile I now run
@
cd D:\Qt\Build
..\Tweaks\environment
..\Sources\configure -opensource -confirm-licence -opengl desktop -platform win32-g++ -debug-and-release -no-vcproj
mingw32-make
@
I switched to active state perl now, though I don't think it matters. I've included python in the path, I have also moved the compile toolchain into D:\Qt\mingw. I've lobed on JOM and FARt but haven't used them yet.I am now not sure if I should rather have something else in the LIB or INCLUDE variables ? Compiling again so will be back with an error or a success statement.
P.s. Thanks Koahnag for your help it's appreciated.