Qt5 development primer
-
After several failed attempts at building, here's how I finally managed to get QT5 to build with Nuwen.net's MinGW 9.4, on Windows 7 64 bit SP1 without webkit.
I already had Nuwen's mingw 9.4 installed (9.5 is now available), this can be obtained from http://www.nuwen.net/mingw.html
This needs to be extracted to c:\mingw or similar, and c:\mingw\bin will need to be in the PATH env variable.
Then I copied c:\mingw\bin\make.exe to c:\mingw\bin\mingw32-make.exe
I then downloaded and installed the following:
http://www.python.org/ftp/python/3.3.0/python-3.3.0.amd64.msi
http://files.rubyforge.vm.bytemark.co.uk/rubyinstaller/rubyinstaller-1.9.3-p362.exe
http://downloads.activestate.com/ActivePerl/releases/5.16.1.1601/ActivePerl-5.16.1.1601-MSWin32-x64-296175.msi
https://msysgit.googlecode.com/files/Git-1.8.0-preview20121022.exeI used the installers to set the path for python, ruby and perl.
I downloaded QT5 (27th Dec 2012):
git clone git://gitorious.org/qt/qt5.git qt5
cd qt5
perl init-repositoryConfigured QT5:
configure -developer-build -opensource -nomake examples -nomake tests -qt-pcre -qt-libjpeg -opengl desktop
- Configure informed me that webkit would not be built due to a missing dependency, so no additional parameters were required to disable this.
- I have an ATi Radeon graphics driver with builtin OpenGL support
- By default configure sets pcre to 'system' at one point I downloaded and built the latest version of pcre, including the pcre16 library, I placed this into my system path, but ld was still unable to locate the library and there was no means of passing the -L parameter to ld from what I can tell, build would fail with 'unable to locate pcre16', once you specify -qt-pcre as per the above, the build will use the embedded pcre library and magically succeed.
- Again, for me, build would fail without specifying -qt-libjpeg
I then simply ran 'make'
Good luck!
-
Every module has a separate git repository, with the exception of QtCore, QtNetwork, QtGui, they are in qtbase.
-
[quote author="sierdzio" date="1357749703"]Every module has a separate git repository, with the exception of QtCore, QtNetwork, QtGui, they are in qtbase.[/quote]Actually,
qtbase.git contains:
- Qt Concurrent
- Qt Core
- Qt D-Bus
- Qt GUI
- Qt Network
- Qt OpenGL
- Qt Print Support
- Qt SQL
- Qt Test
- Qt Widgets
- Qt XML
qtdeclarative.git contains:
- Qt QML
- Qt Quick
-
Ah, I've been punished for my laziness, thank you for that ;)
-
Hi, I've succeed with compiling QT5 for arm (raspberry pi) what is not working for me is localized keyboard input in eglfs. When i use loadkeys de.kmap and than start an application. The keyboard is again Generic (US). But in console localized keyboard works. Did I miss something in compile or programming time?
-
Hi yeckel,
I don't have any experience with the Raspberry Pi, but I recommend posting your question in the "Qt Project Mobile and Embedded subforum":http://qt-project.org/forums/viewforum/11/ or the "Raspberry Pi forum":http://www.raspberrypi.org/phpBB3/
-
Hello,
I am trying to compile qt5.0.1 in 32bits mode using msvc2012 on a 64bits machine. I have succesfully build the exactly same sources in 64bits mode, many times.
So I opened a "vs2012-x86 native tools command prompt" and just did exactly the same steps as i did to compile the 64bits version.
After a long time, in the nmake phase, I encountered the following error:
[code]Microsoft (R) Program Maintenance Utility Version 11.00.50727.1
Copyright (C) Microsoft Corporation. All rights reserved.cd windows\ && ( if not exist Makefile C:\qt5\qt5_32\qtbase\bin\qmake C:
\qt5\qt5_32\qtbase\src\plugins\platforms\windows\windows.pro -o Makefile ) && "C
:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\nmake.exe" -f MakefileMicrosoft (R) Program Maintenance Utility Version 11.00.50727.1
Copyright (C) Microsoft Corporation. All rights reserved."C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\nmake.exe" -
f Makefile.Debug all
Microsoft (R) Program Maintenance Utility Version 11.00.50727.1
Copyright (C) Microsoft Corporation. All rights reserved.echo 2 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ "..
\..\..\..\plugins\platforms\qwindowsd.dll.embed.manifest">........\plug
ins\platforms\qwindowsd.dll_manifest.rc
if not exist ........\plugins\platforms\qwindowsd.dll del ........
\plugins\platforms\qwindowsd.dll.embed.manifest>NUL 2>&1
if exist ........\plugins\platforms\qwindowsd.dll.embed.manifest copy
/Y ........\plugins\platforms\qwindowsd.dll.embed.manifest ........\plugi
ns\platforms\qwindowsd.dll_manifest.bak
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /DLL /MANIFEST /MANIFESTFILE:
........\plugins\platforms\qwindowsd.dll.embed.manifest /OUT:........\plug
ins\platforms\qwindowsd.dll @C:\Users\Philippe\AppData\Local\Temp\nm8E9D.tmp
Creating library ........\plugins\platforms\qwindowsd.lib and object ....
....\plugins\platforms\qwindowsd.exp
dlldata.obj : error LNK2001: unresolved external symbol _Accessible2_ProxyFileIn
fo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleAction_ProxyF
ileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleApplication_P
roxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleComponent_Pro
xyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol AccessibleEditableText
ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleHyperlink_Pro
xyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleHypertext_Pro
xyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleImage_ProxyFi
leInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleRelation_Prox
yFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleTable_ProxyFi
leInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleTable2_ProxyF
ileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleTableCell_Pro
xyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleText_ProxyFil
eInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleValue_ProxyFi
leInfo
........\plugins\platforms\qwindowsd.dll : fatal error LNK1120: 14 unresolved
externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
\VC\BIN\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.[/code]Any idea what is wrong with my setup?
-
I am trying to build qt5 on windows. However, I am not even able retrieve the soure code successfully. The inital command "git clone git://gitorious.org/qt/qt5.git qt5" completed successfully. But the next command "perl init-repository" failed with the following error information:
- git submodule init
0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x170000, State 0x10000
c:\program files (x86)\git\bin\sh.exe: *** Couldn't reserve space for cygwin's h
eap, Win32 error 0
git submodule init exited with status 256 at init-repository line 268.
Qt::InitRepository::exe('Qt::InitRepository=HASH(0x32f290)', 'git', 'sub
module', 'init') called at init-repository line 373
Qt::InitRepository::git_submodule_init('Qt::InitRepository=HASH(0x32f290
)') called at init-repository line 569
Qt::InitRepository::run('Qt::InitRepository=HASH(0x32f290)') called at i
nit-repository line 590
I am using msysgit (Git for Windows) 1.8.1.2, Active Perl 5.16.3 and Python 3.3.0.
- git submodule init
-
Run perl from cmd.exe, not Bash terminal.
-
I did run the command "perl init-repository" from cmd.exe directly.
[quote author="sierdzio" date="1364192137"]Run perl from cmd.exe, not Bash terminal.[/quote] -
I'm trying to build source from the for new bug fix which critical for me.
I'm getting following linking error:
@ link /NOLOGO /DYNAMICBASE /NXCOMPAT /BASE:0x67000000 /DEBUG /DLL /VERSIO
N:5.02 /MANIFEST /MANIFESTFILE:....\lib\Qt5Cored.lib.embed.manifest /OUT:....
lib\Qt5Cored.lib @C:\Users\dasun\AppData\Local\Temp\nm9C85.tmp
Creating library ....\lib\Qt5Cored.lib and object ....\lib\Qt5Cored.exp
LINK : fatal error LNK1104: cannot open file '....\lib\Qt5Cored.lib'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\link.EXE"' : return code '0x450'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.@ -
I am building from Windows 7. I use the following configuration command:
configure -developer-build -opensource -confirm-license -nomake examples -nomake tests -mp
I see the following errors at the end of configuration output:
Generating Visual Studio project files...
Project WARNING: You should probably load(qt_build_config) first in bootstrap.pr
o for QtBootstrap, as the latter also load()s qt_module.
Project MESSAGE: Not doing so may lead to qt_module.prf overriding compiler/link
er options in your .pro file.
Project MESSAGE: Ignore this warning with CONFIG+=no_qt_module_warning if you kn
ow what you are doing.
Project ERROR: Project has no top-level .qmake.conf file.
Qmake failed, return code 3Generating Makefiles...
*** qtbase/configure exited with non-zero status. -
I am getting following error
"STL functionality check failed! Cannot build Qt with this STL library."when i run configure command i.e.
./configure -developer-build -xplatform android-g++ -android-ndk YOUR_NDK_DIR -android-sdk YOUR_SDK_DIR -nomake tests -nomake examplesExact dump
- /home/ubuntu/qt5/qtbase/configure -developer-build -xplatform android-g++ -android-ndk /home/ubuntu/anshul/android-ndk-r8e -android-sdk /home/ubuntu/anshul/replicant-sdk_linux-x86 -nomake tests -nomake examples -confirm-license
Which edition of Qt do you want to use ?
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.o
This is the Qt Open Source Edition.
You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.You have already accepted the terms of the license.
<srcbase> = /home/ubuntu/qt5/qtbase
<outbase> = /home/ubuntu/qt5/qtbase
Creating qmake...
make: Nothing to be done for `first'.
Running configuration tests...
Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.
Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set.Could not determine the target architecture!
Turn on verbose messaging (-v) to see the final report.
STL functionality check failed! Cannot build Qt with this STL library.
Turn on verbose messaging (-v) to /home/ubuntu/qt5/qtbase/configure to see the final report.
*** qtbase/configure exited with non-zero status.and i am referring this link for building
http://qt-project.org/wiki/Qt5ForAndroidBuildingPlease help
-Anshul
- /home/ubuntu/qt5/qtbase/configure -developer-build -xplatform android-g++ -android-ndk /home/ubuntu/anshul/android-ndk-r8e -android-sdk /home/ubuntu/anshul/replicant-sdk_linux-x86 -nomake tests -nomake examples -confirm-license
-
Hello,
I am having some problems compiling Qt 5.1 in MAC OSX. I've followed all the steps from here: http://qt-project.org/wiki/Building_Qt_5_from_Git ...
But... when I called "make -j 4", after about one hour of compilling work, I've got this error:
@make[3]: *** No rule to make target
/Users/paulopina/PlexusDynamics/qt5/qtbase/lib/libQt5QmlDevTools.a', needed by
/Users/paulopina/PlexusDynamics/qt5/qtbase/bin/qmlmin'. Stop.
make[2]: *** [sub-qmlmin-make_first] Error 2
make[2]: *** Waiting for unfinished jobs....
make[3]: Nothing to be done forfirst'. make[3]: Nothing to be done for
first'.
make[3]: Nothing to be done for `first'.
make[1]: *** [sub-tools-make_first] Error 2
make: *** [module-qtdeclarative-make_first] Error 2@This it the return i've got at "./configure -developer-build -opensource -nomake examples -nomake tests":
@Creating qmake...
make: Nothing to be done for `first'.
Running configuration tests...
WARNING: Unable to find file .device.varsBuild type: macx-clang
Architecture: x86_64, features: mmx sse sse2 sse3 ssse3
Host architecture: x86_64, features: mmx sse sse2 sse3 ssse3Build .................. libs tools
Configuration .......... qpa largefile precompile_header sse2 sse3 ssse3 sse4_1 sse4_2 avx avx2 absolute_library_soname pcre warnings_are_errors minimal-config small-config medium-config large-config full-config build_all debug_and_release no-pkg-config coreservices accessibility opengl shared qpa reduce_exports getaddrinfo ipv6ifname getifaddrs png freetype system-zlib nis cups iconv openssl rpath corewlan concurrent audio-backend v8 v8snapshot release debug qt_framework private_tests
Debug .................. yes (combined)
Default Link ........... debug
Force debug info ....... no
C++11 support .......... no
pkg-config ............. no
Qt D-Bus module ........ no
Qt Concurrent code ..... yes
Qt GUI module .......... yes
Qt Widgets module ...... yes
JavaScriptCore JIT ..... To be decided by JavaScriptCore
QML debugging .......... yes
PCH support ............ yes
SSE2/SSE3/SSSE3......... yes/yes/yes
SSE4.1/SSE4.2........... yes/yes/yes
AVX/AVX2................ yes/yes
IPv6 ifname support .... yes
getaddrinfo support .... yes
getifaddrs support ..... yes
Accessibility .......... yes
NIS support ............ yes
CUPS support ........... yes
Iconv support .......... yes
Glib support ........... no
GStreamer support ...... no
PulseAudio support ..... no
Large File support ..... yes
GIF support ............ plugin
JPEG support ........... plugin (qt)
PNG support ............ yes (qt)
zlib support ........... system
Session management ..... auto
libudev support ........ no
Use system proxies ..... no
OpenGL support ......... yes (Desktop OpenGL)
OpenVG support ......... no
XShape support ......... auto
XVideo support ......... auto
XSync support .......... auto
Xinerama support ....... runtime
Xcursor support ........ runtime
Xfixes support ......... runtime
Xrandr support ......... runtime
Xi support ............. runtime
Xi2 support ............ auto
MIT-SHM support ........ auto
FontConfig support ..... no
XKB support ............ auto
GTK theme support ...... no
PostgreSQL support ..... plugin
ODBC support ........... plugin
SQLite support ......... plugin (qt)
OpenSSL support ........ yes (run-time)
Alsa support ........... no
CoreWlan support ....... yes
libICU support ......... no
PCRE support ........... qt
Xcb support ............ no
Xrender support ........ no
EGLFS support .......... no
DirectFB support ....... no
LinuxFB support ........ no
KMS support ............ no@Any one has an idea of how can I solve this?
Thank you!
-
[quote author="deus" date="1365514226"]
[quote author="PauloPina" date="1365359586"]Hello,Thank you![/quote]
Just head into "qtdeclarative\src\qmldevtools"
and make a release and a debug before you proceed.[/quote]
Hello Deus,
Thank you. I'll try it!
-
Hi,
Same error as PauloPina, then heading to "qtdeclarative\src\qmldevtools" and doing a "make" doesn't solve the problem. The make "has nothing to do". Only the debug lib is created, how do I create the release?
Thanks
-
Yes, of course I've tried it ;-) but unsuccessfully
@
$ pwd
(...)/qt-everywhere-opensource-src-5.1.0-alpha/qtdeclarative/src/qmldevtools$ ls
Makefile qmldevtools.pro$ make release
make: *** No rule to make target `release'. Stop.
@There's no reference to a 'release' keyword in the Makefile. Here's how the whole qtbase was configured:
@
$ ./configure -prefix $PWD/qtbase -opensource -nomake tests
@I've reconfigured with -debug-and-release option, but still no release rule and other errors raised.
@
$ ./configure -prefix $PWD/qtbase -opensource -nomake tests -debug-and-release
(...)$ make
cd qmlmin/ && ( test -e Makefile || (...)/qt-everywhere-opensource-src-5.1.0-alpha/qtbase/bin/qmake (...)/qt-everywhere-opensource-src-5.1.0-alpha/qtdeclarative/tools/qmlmin/qmlmin.pro -o Makefile ) && make -f Makefile
make[3]: *** No rule to make target(...)/qt-everywhere-opensource-src-5.1.0-alpha/qtbase/lib/libQt5QmlDevTools.a', needed by
(...)/qt-everywhere-opensource-src-5.1.0-alpha/qtbase/bin/qmlmin'. Stop.
make[2]: *** [sub-qmlmin-make_first] Error 2
make[1]: *** [sub-tools-make_first] Error 2
make: *** [module-qtdeclarative-make_first] Error 2
@Note: Mac OS X 10.7.5
@
$ clang -v
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix
@