Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.1.0
-
None
-
Qt5.1.0x64, Win7x64, VS2010SP1
Description
Problems when building/installing Qt5.1.0x64 under Win7x64 VS2010SP1 for different source and installation folders
------------------------------------------------------------------------------------------------------------------
First of all, I'd like to stress, that the source and installation folders are different:
e:\MyProjects\Libs\Qt\src is the source folder,
e:\MyProjects\Libs\Qt\vs2010-x64 is the installation folder (and %QTDIR%).
In short: I experienced building Qt5.1.0 using both jom and nmake. With jom I got working distributive but with some manual fixes and rerunning in the middle of the process, nmake didn't build qttools. Both ways didn't build examples.
====================================================================
A. When building with jom:
1. "jom.exe docs" looks for qdoc.exe in the wrong path (in the yet empty installation folder), so I copied it with its dependancies.
2. Although i was building for Win, the script still wanted to install dbus and embedded, but failed to do it, so I had to comment (rem) those strings in the examples\Makefile script and rerun the installation process:
for sub-dbus-install_subtargets:
rem cd dbus\ && ( if not exist Makefile $(QMAKE) e:\MyProjects\Libs\Qt\src\qtbase\examples\dbus\dbus.pro -o Makefile ) && $(MAKE) -f Makefile install
for sub-embedded-install_subtargets:
rem cd embedded\ && ( if not exist Makefile $(QMAKE) e:\MyProjects\Libs\Qt\src\qtbase\examples\embedded\embedded.pro -o Makefile ) && $(MAKE) -f Makefile install
3. After nmake %QTDIR% is changed to e:\MyProjects\Libs\Qt\src\qtbase, as far as I know, it wasn't so in the earlier versions.
4. When installing docs *.qch don't get registered at assistant, so I had to do it manually (it was so in the earlier Qt versions).
5. Wrong paths appeared to be in some e:\MyProjects\Libs\Qt\vs2010-x64\lib*.prl files (paths lead to e:\MyProjects\Libs\Qt\src instead of e:\MyProjects\Libs\Qt\vs2010-x64 folder). I found it when I tried to manually build examples, qmake wrote those wrong paths in Makefiles.
6. So, examples don't get built and installed.
7. I had problems when building examples manually (at the installed examples folder: qmake && nmake release): some files were not copied to the installation folder, so i had to copy them manually from src:
examples\activeqt\menus\fileopen.xpm
examples\activeqt\menus\filesave.xpm
examples\declarative\cppextensions\plugins\plugin.json
examples\declarative\tutorials\extending\chapter6-plugins\chartsplugin.json
examples\designer\containerextension\multipagewidget.json
examples\designer\customwidgetplugin\analogclock.json
examples\designer\taskmenuextension\tictactoe.json
examples\designer\worldtimeclockplugin\worldtimeclock.json
examples\webkitqml\shared\shared.qrc
all the files of the following projects are not copied at the installation:
script\calculator\
script\qstetrix\
examples\quick\scenegraph\shared\
8. Finally, I got the error in examples\qtestlib\Makefile and stopped trying:
NMAKE : fatal error U1073: don't know how to make 'release'
====================================================================
B. When building using qmake/nmake:
1. Examples are not build, even when the key -make examples is specified.
2. After nmake %QTDIR% is also changed to e:\MyProjects\Libs\Qt\src\qtbase.
3. nmake doesn't make qt tools like qhelpgenerator.exe etc, so I stopped trying at this stage.
====================================================================
C. Finally, my installation steps:
Install:
- Win SDK 7.1
- VS2010 & SP1 & MSDN
- Python 2.7 (3.3 is invalid!)
- Ruby
- Perl
- doxygen
- ICU
- PThreads
- OpenSSL
set MY_PROJECTS=e:\MyProjects
set QTDIR=e:\MyProjects\Libs\Qt\vs2010-x64
set PATH=
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%QTDIR%\bin;%MY_PROJECTS%\Libs\ICU\vs2010-x64\bin;%MY_PROJECTS%\Libs\OpenSSL\vs2010-x64\out32dll;%MY_PROJECTS%\Libs\pthreads\vs2010-x64\dll;C:\Ruby193\bin;C:\Python27\;C:\Perl64\site\bin;C:\Perl64\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\doxygen\bin;C:\Program Files (x86)\Git\cmd;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Performance Tools;%MY_PROJECTS%\SRG\libs\lib\x64\;%MY_PROJECTS%\SRG\libs\lib\Win32;%QTDIR%\..\src\qtbase\bin;%QTDIR%\..\src\qtrepotools\bin;%QTDIR%\..\src\gnuwin32\bin
//run VS2010 Win64 x64 Console
cd /d %MY_PROJECTS%\Libs\Qt\src
set INCLUDE=%INCLUDE%%MY_PROJECTS%\Libs\ICU\vs2010-x64\include;%MY_PROJECTS%\Libs\ICU\vs2010-x64\include\layout;%MY_PROJECTS%\Libs\ICU\vs2010-x64\include\unicode;%MY_PROJECTS%\Libs\OpenSSL\vs2010-x64\inc32;%MY_PROJECTS%\Libs\OpenSSL\vs2010-x64\inc32\openssl;%MY_PROJECTS%\Libs\pthreads\vs2010-x64\include;
set LIB=%LIB%%MY_PROJECTS%\Libs\ICU\vs2010-x64\lib;%MY_PROJECTS%\Libs\OpenSSL\vs2010-x64\out32dll;%MY_PROJECTS%\Libs\pthreads\vs2010-x64\lib;
configure -debug-and-release -opensource -confirm-license -platform win32-msvc2010 -prefix "%QTDIR%" -mp -no-dbus -no-angle -opengl desktop -nomake tests -make examples
..\jom\jom.exe -j 8
md "%QTDIR%\..\..\vs2010-x64\bin\platforms" && md "%QTDIR%\..\..\vs2010-x64\bin\sqldrivers" && copy /y "%QTDIR%\plugins\platforms\qminimal.dll" "%QTDIR%\..\..\vs2010-x64\bin\platforms\" && copy /y "%QTDIR%\plugins\platforms\qwindows.dll" "%QTDIR%\..\..\vs2010-x64\bin\platforms\" && copy /y "%QTDIR%\plugins\sqldrivers\qsqlite.dll" "%QTDIR%\..\..\vs2010-x64\bin\sqldrivers\" && copy /y "%QTDIR%\..\qttools\bin\qhelpgenerator.exe" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\..\qttools\lib\Qt5CLucene.dll" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\lib\Qt5Core.dll" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\lib\Qt5Gui.dll" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\..\qttools\lib\Qt5Help.dll" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\lib\Qt5Network.dll" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\lib\Qt5Sql.dll" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\lib\Qt5Widgets.dll" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\bin\qdoc.exe" "%QTDIR%\..\..\vs2010-x64\bin\" && copy /y "%QTDIR%\lib\Qt5Xml.dll" "%QTDIR%\..\..\vs2010-x64\bin\" && ..\jom\jom.exe docs && ..\jom\jom.exe install
//now build changes %QTDIR% to e:\MyProjects\Libs\Qt\src\qtbase
set QTDIR=e:\MyProjects\Libs\Qt\vs2010-x64
copy /y "%QTDIR%\..\src\qtactiveqt\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\activeqt.qch" -quiet
copy /y "%QTDIR%\..\src\qtbase\doc*.qch" "%QTDIR%\doc\" && ren "%QTDIR%\doc\qdoc.qch" qdoc2.qch && assistant.exe -register "%QTDIR%\doc\qdoc2.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtconcurrent.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtcore.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtgui.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtnetwork.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtopengl.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtprintsupport.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtsql.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qttestlib.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtwidgets.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtxml.qch" -quiet
copy /y "%QTDIR%\..\src\qtdeclarative\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtqml.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtquick.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtquickdialogs.qch" -quiet
copy /y "%QTDIR%\..\src\qtdoc\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtdoc.qch" -quiet
copy /y "%QTDIR%\..\src\qtgraphicaleffects\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtgraphicaleffects.qch" -quiet
copy /y "%QTDIR%\..\src\qtimageformats\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtimageformats.qch" -quiet
copy /y "%QTDIR%\..\src\qtmultimedia\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtmultimedia.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtmultimediawidgets.qch" -quiet
copy /y "%QTDIR%\..\src\qtquickcontrols\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtquickcontrols.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtquickcontrolsstyles.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtquicklayouts.qch" -quiet
copy /y "%QTDIR%\..\src\qtscript\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtscript.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtscripttools.qch" -quiet
copy /y "%QTDIR%\..\src\qtsensors\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtsensors.qch" -quiet
copy /y "%QTDIR%\..\src\qtserialport\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtserialport.qch" -quiet
copy /y "%QTDIR%\..\src\qtsvg\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtsvg.qch" -quiet
copy /y "%QTDIR%\..\src\qttools\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtassistant.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtdesigner.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qthelp.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtlinguist.qch" -quiet && assistant.exe -register "%QTDIR%\doc\qtuitools.qch" -quiet
copy /y "%QTDIR%\..\src\qttools\examples\assistant\simpletextviewer\documentation*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\simpletextviewer.qch" -quiet
copy /y "%QTDIR%\..\src\qttools\examples\help\contextsensitivehelp\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\wateringmachine.qch" -quiet
copy /y "%QTDIR%\..\src\qttools\src\assistant\assistant*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\assistant.qch" -quiet
copy /y "%QTDIR%\..\src\qtwebkit-examples\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtwebkitexamples.qch" -quiet
copy /y "%QTDIR%\..\src\qtwebkit\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtwebkit.qch" -quiet
copy /y "%QTDIR%\..\src\qtxmlpatterns\doc*.qch" "%QTDIR%\doc\" && assistant.exe -register "%QTDIR%\doc\qtxmlpatterns.qch" -quiet
create bin/qt.conf containing:
[Paths]
Prefix=..