These are the BKMs to build MeeGo SDK for Windows. This implemented a part of Feature 10971 - Build MeeGo SDK for Windows in a public server. For more information about MeeGo SDK for Windows, please check SDK/MeeGo SDK for Windows.
Maxayu 09:17, 22 December 2010 (UTC)
Contents |
To build Qt Creator, you need to build on Windows OS and the below steps are following the spec file of the rpm package (http://build.meego.com/package/show?package=meego-sdk-qt-creator&project=devel%3Atools%3Asdk%3Ahost).
- Prerequisite
| Installation | Linking |
|---|---|
| Windows OS (XP/Vista/7) | http://www.microsoft.com |
| MeeGo SDK for Windows | http://wiki.meego.com/SDK/MeeGo_SDK_for_Windows |
| Visual Studio 2008 | http://www.microsoft.com/express/Downloads/#2008-All |
| Qt for Open Source on Windows (VS2008) | http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.1-vs2008.exe |
Note: After Qt for Open Source on Windows has been installed, the Media:qt_webkit_version.pri file is required to copy to $QTDIR/mkspecs/modules to link Qt WebKit library.
In the spec file, the following tasks are performed.
- Pre-Build
Launch MADDE Terminal of MeeGo SDK, and run below commands in the extracted directory of Qt Creator source code. For instance,
$patch -p1 -i ../meego-2.1_20110130.patch $patch -p1 -i ../ftbfs_missing_webkit.patch $patch -p1 -i ../ftbfs_allow-shlib-undefined_no-undefined.patch $patch -p1 -i ../buildservice_plugin_20110104.patch $patch -p1 -i ../install_qtquickplugin.patch $cp -rf src/plugins/qt4projectmanager/qt-maemo/images src/plugins/qt4projectmanager/qt-meego/ $install -D -p -m 0644 ../mtf.png src/plugins/qt4projectmanager/wizards/images/mtf.png
Edit src/plugins/plugins.pro and comment the below line to disable the BuildService plug-in.
# plugin_buildservice \
- Build
Then build Qt Creator in Qt Command Prompt. Run the below commands in an independent build directory, which can be created in parallel with the source directory and named 'qt-creator-*-rc1-build'.
>qmake -r DEFINES+=QTCREATOR_WITH_QML CONFIG-=console -config release ..\qt-creator-2.1.0-rc1-src\qtcreator.pro >nmake
- Post Build
After building Qt Creator with VS2008 and Qt by Nokia v4.7.1 (VS 2008), we manually copy everything via
1. xcopy /Y /R /E /EXCLUDE:%SCRIPT_DIRECTORY%\install_creator_step_excludes.txt %REPOSITORY_DIRECTORY%\creator %TARGET_LOCATION%\
For instance,
>xcopy /Y /R /E /EXCLUDE:C:\bin_win\install_creator_step_excludes.txt C:\build\qt-creator\qt-creator-2.1.0-rc1-build C:\build\data\qtcreator
2. xcopy /y %REPOSITORY_DIRECTORY%\creator\lib\qtcreator\plugins\Nokia\Find.dll %TARGET_LOCATION%\lib\qtcreator\plugins\Nokia\
There missed a file Find.dll unfortunately, which can be copied manually. For instance,
>xcopy /y C:\build\qt-creator\qt-creator-2.1.0-rc1-build\lib\qtcreator\plugins\Nokia\Find.dll C:\build\data\qtcreator\lib\qtcreator\plugins\Nokia\
3. Copy all the .dll and .exe files from C:\qt\4.7.1\bin to %TARGET_LOCATION%\bin.
4. Copy the following plugins to the corresponding subdirectories of %TARGET_LOCATION%\bin.
imageformats imageformats/qgif4.dll imageformats/qico4.dll imageformats/qjpeg4.dll imageformats/qmng4.dll imageformats/qsvg4.dll imageformats/qtiff4.dll iconengines iconengines/qsvgicon4.dll sqldrivers sqldrivers/qsqlite4.dll codecs codecs/qcncodecs4.dll codecs/qjpcodecs4.dll codecs/qkrcodecs4.dll codecs/qtwcodecs4.dll accessible accessible/qtaccessiblewidgets4.dll
Compress the directory QtCreator into qtcreator.7z package.
typedef signed char int8_t;
To:
//typedef signed char int8_t; !!!! XXX XXXX The change in the next line is a tmp edit for building MADDE only. Please change it back to this line ASAP. typedef char int8_t;
cd /path/to/madde make w32 SUMO=meego ../berlin_gatherer.sh -e _build
Here is the file Media:Berlin-gatherer.sh
Follow instructions on http://meego.gitorious.org/meego-developer-tools/madde/blobs/master/docs/QtToolsForMadde.rst . Which contains my modifications.
The patch mentioned in the above link can be downloaded from here: Media:Qt qtmake option.cpp.patch.
mgen and mmoc from libmeegotouch need to be added. Source code of libmeegotouch can be downloaded from http://build.meego.com/package/show?package=libmeegotouch&project=Trunk.
To build mgen, create a file "make.bat" by copy the following lines:
set MYQTDIR=C:\Qt\4.7.1 set CL=/I%MYQTDIR%\include\QtGui /I%MYQTDIR%\include\QtCore /I%MYQTDIR%\include set LIBRARY_PATH=%MYQTDIR%\lib cl mgen.cpp mgen_processor.cpp %LIBRARY_PATH%\QtGui4.lib %LIBRARY_PATH%\QtCore4.lib %LIBRARY_PATH%\QtCore4.lib
Put the file "make.bat" into "mgen" sub-directory of libmeegotouch, and invoke it to build mgen.
I used this script http://meego.gitorious.org/meego-developer-tools/madde/blobs/master/ext/i386-toolchain-w32-meego.sh to build toolchain for IA, which is based on toolchain-w32.sh (for ARM).
Refer to: http://developer.qt.nokia.com/wiki/Qt_Simulator and http://build.meego.com/package/view_file?file=qt-simulator.spec&package=qt-simulator&project=devel%3Atools%3Asdk%3Ahost&srcmd5=e45d364bbac25fb09e70f49e9650177c (require login. Download source code from here.)
Source code of simulator need to be patched by Media:Simulator.patch.
Create a directory "simulator-depends".
Use the bat file Media:Make_bat.txt to build it. While you need to apply the following work around after building simulator-mobility and before building simulator.
cd simulator-mobility-1.1.0~git1/plugins/sensors/simulator/ mv main.cpp main.cpp.sav