Unsolved Trying to build a library with QT and MinGW
-
Hello, newbie here. There is a library that I want to use but it comes with vague instructions to use QT and MinGW to build it with a Makefile in Win 10
First I installed QT and I entered in on the command line
//Initial Attempt C:\Users\Be\Downloads\VirLe-v1.0.2-src\virle-36c567b992a6\src>D:\Qt\Qt5.7.1\Tools\mingw530_32\bin\mingw32-make.exe -f Makefile qmake -o Makefile.VirLe VirLe.pro process_begin: CreateProcess(NULL, qmake -o Makefile.VirLe VirLe.pro, ...) failed. make (e=2): The system cannot find the file specified. Makefile:22: recipe for target 'Makefile.VirLe' failed mingw32-make: *** [Makefile.VirLe] Error 2
I figured maybe it wasn't working because I wasn't doing it directly in the command line so I started up the MinGW shell and retyped the commands.
D:\DocumentArchive\VirLe-v1.0.2-src\VirLe- 36c567b992a6\src>D:\Qt\Qt5.7.1\Tools\mingw530_32\bin\mingw32-make.exe -f Makefile qmake -o Makefile.VirLe VirLe.pro Info: creating stash file D:\DocumentArchive\VirLe-v1.0.2-src\VirLe- 36c567b992a6\src\.qmake.stash Project MESSAGE: Building Qt executable Project ERROR: Unknown module(s) in QT: qt3support Makefile:22: recipe for target 'Makefile.VirLe' failed mingw32-make: *** [Makefile.VirLe] Error 3
It looked like I had a version of QT that was too new so I installed QT 4.8.6 and tried again.
D:\DocumentArchive\VirLe-v1.0.2-src\VirLe-36c567b992a6\src>D:\MinGW\bin\mingw32-make.exe -f Makefile qmake -o Makefile.VirLe VirLe.pro WARNING: d:\DocumentArchive\VirLe-v1.0.2-src\VirLe-36c567b992a6\src\VirLe.pro:57: Unescaped backslashes are deprecated. Project MESSAGE: Building Qt executable WARNING: d:\DocumentArchive\VirLe-v1.0.2-src\VirLe-36c567b992a6\src\VirLe.pro:57: Unescaped backslashes are deprecated. Project MESSAGE: Building Qt executable WARNING: d:\DocumentArchive\VirLe-v1.0.2-src\VirLe-36c567b992a6\src\VirLe.pro:57: Unescaped backslashes are deprecated. Project MESSAGE: Building Qt executable D:/MinGW/bin/mingw32-make -f Makefile.VirLe mingw32-make[1]: Entering directory 'D:/DocumentArchive/VirLe-v1.0.2-src/VirLe-36c567b992a6/src' D:/MinGW/bin/mingw32-make -f Makefile.VirLe.Release mingw32-make[2]: Entering directory 'D:/DocumentArchive/VirLe-v1.0.2-src/VirLe-36c567b992a6/src' g++ -c -pipe -fno-keep-inline-dllexport -fexceptions -Wall -Wno-write-strings -Wno-unused-parameter -DLIBXML_STATIC -I../lib\libxml2\include -I../lib\libiconv\include -I../lib\libz\include -DQTGRAPHICS -O2 -frtti -mthreads -Wall -Wextra -DUNICODE -DQTGRAPHICS -DREACTIONS_HEADER= -DREACTIONS_HEADER_STRING="" -DFLEMING -DQT_DLL -DQT_NO_DEBUG -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\Qt\4.8.6\include\QtCore" -I"..\..\..\..\Qt\4.8.6\include\QtGui" -I"..\..\..\..\Qt\4.8.6\include\Qt3Support" -I"..\..\..\..\Qt\4.8.6\include" -I"..\..\..\..\Qt\4.8.6\include\ActiveQt" -I"release" -I"..\..\..\..\Qt\4.8.6\mkspecs\win32-g++-4.6" -o release\canvas.o canvas.cpp 'g++' is not recognized as an internal or external command, operable program or batch file. Makefile.VirLe.Release:314: recipe for target 'release/canvas.o' failed mingw32-make[2]: *** [release/canvas.o] Error 1 mingw32-make[2]: Leaving directory 'D:/DocumentArchive/VirLe-v1.0.2-src/VirLe-36c567b992a6/src' Makefile.VirLe:34: recipe for target 'release' failed mingw32-make[1]: *** [release] Error 2
Here is a link to the Makefile I am trying to get to work...
https://www.scribd.com/document/335488856/Make-File-Vl
Can anybody give me an idea what might be going wrong?
-
Hi and welcome to devnet,
The qt3support error indicates that it's a library ported to Qt 4 that wasn't completely ported.
From your other error, it looks like the Makefile is done for Linux rather than generic.
-
@A123 In the final make attempt the Makefile is trying to use g++ which of course is not mingw32-g++. You could change that in the makefile to use mingw32-g++, and it may get you further.
This is going to be a tough thing to get working though it looks like it has pretty limited windows support. Like it's an after thought and not something that is maintained well by the developers.