Monday, January 4, 2016

Symbian development 2016: Using Belle SDK, QtCreator 2.5.2 and GCCE 4.6.3 with QtSDK v1.2.1 offline on Windows

Hello guys,

the last Nokia QtSDK which has an offline installer doesn't contain Belle SDK, has an old compiler and QtCreator version, e.g. you don't have a real C++11 support.

Here's a little guide to fix this issues:


Belle SDK with offline QtSDK v1.2.1 (which has Anna only by default)


- install the offline QtSDK v1.2.1 incl. all Symbian Tools and Anna SDK e.g. from here:

- download my Belle Qt SDK backup from here (which also contains some fixed/modded headers and parts of the S^3 PDK):

- unpack it to :\QtSDK\Symbian\SDKs\SymbianSR1Qt474\, just like :\QtSDK\Symbian\SDKs\Symbian3Qt474 (the Anna offline SDK)

- launch QtCreator, go to Tools -> Options -> Build & Run -> Qt Versions
set it up like Anna SDK, here's my setup:



That's it :)


GCCE 4.6.3 with Nokia QtSDK


Here are two mirrors:

Simply download and unpack it into a folder, e.g. C:\arm-2012.03\ on my PC

Afterwards you have to edit your compiler config, the related file is :\QtSDK\Symbian\tools\sbs\lib\config\variants.xml.

You have to add a basic compiler enty:

<var name="gcce4_6_3" extends="gcce_base">
    <env name="SBS_GCCE463BIN" type="toolchainpath"/>
    <set name="GCCEBIN" value="$(SBS_GCCE463BIN)"/>
    <set name="GCCECC" value="$(GCCEBIN)/arm-none-symbianelf-g++$(DOTEXE)" type="tool" versioncommand="$(GCCECC) -dumpversion" versionresult="4.6.3"/>
    <set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso"/>
    <set name="PLATMACROS.VAR" value="GCCE_4 GCCE_4_6"/>
    <set name="ARMMACROS.VAR" value="__GCCE_4__ __GCCE_4_6__"/>
    <set name="LINKER_GROUP_END_OPTION" value="-Wl,--end-group"/>
    <set name="LINKER_GROUP_START_OPTION" value="-Wl,--start-group"/>
    <set name="LINKER_DEFAULT_LIBS" value="-lsupc++ -lgcc -lgcc_eh"/>
</var>

That's it :)

A screen of my config:



If you have more questions read here: http://www.summeli.fi/?p=4220

QtCreator 2.5.2 inside of Nokia QtSDK





[...]
Just one note to installation of QtCreator 2.5.2...
If you have some Auto-detected "Qt Versions" and "Tool chains" in QtCreator 2.5.1 (which you want to use later as well), make sure to use "Clone" button to get them to Manual category before upgrading, because QtCreator 2.5.2 might not auto-detect some of them - that happened to me (and is also mentioned in the guide), so I had to set all of them later manually.


Install this .exe:
to :\QtSDK\QtCreator\ (better take a backup of the original folder before), maybe you will have to setup the compilers and SDKs manually afterwards.
Just as a reference, that's my config, the files are stored in %AppData%\Roaming\Nokia\:

qtversion.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorQtVersions>
<!-- Written by Qt Creator 2.5.2, 2016-01-04T18:39:14. -->
<qtcreator>
    <data>
        <variable>QtVersion.0</variable>
        <valuemap type="QVariantMap">
            <value type="int" key="Id">1</value>
            <value type="QString" key="Name">Qt 4.7.4 (Symbian3Qt474)</value>
            <value type="QString" key="QMakePath">C:/QtSDK/Symbian/SDKs/Symbian3Qt474/bin/qmake.exe</value>
            <value type="QString" key="QtVersion.Type">Qt4ProjectManager.QtVersion.Symbian</value>
            <value type="QString" key="SBSv2Directory">C:/QtSDK/Symbian/tools/sbs/bin</value>
            <value type="QString" key="SystemRoot">C:/QtSDK/Symbian/SDKs/Symbian3Qt474/</value>
            <value type="bool" key="isAutodetected">false</value>
        </valuemap>
    </data>
    <data>
        <variable>QtVersion.1</variable>
        <valuemap type="QVariantMap">
            <value type="int" key="Id">3</value>
            <value type="QString" key="Name">Qt 4.7.4 (SymbianSR1Qt474)</value>
            <value type="QString" key="QMakePath">C:/QtSDK/Symbian/SDKs/SymbianSR1Qt474/bin/qmake.exe</value>
            <value type="QString" key="QtVersion.Type">Qt4ProjectManager.QtVersion.Symbian</value>
            <value type="QString" key="SBSv2Directory">C:/QtSDK/Symbian/tools/sbs/bin</value>
            <value type="QString" key="SystemRoot">C:/QtSDK/Symbian/SDKs/SymbianSR1Qt474/</value>
            <value type="bool" key="isAutodetected">false</value>
        </valuemap>
    </data>
    <data>
        <variable>QtVersion.Count</variable>
        <value type="int">2</value>
    </data>
    <data>
        <variable>Version</variable>
        <value type="int">1</value>
    </data>
</qtcreator>

toolChains.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorToolChains>
<!-- Written by Qt Creator 2.5.2, 2016-01-04T18:56:44. -->
<qtcreator>
    <data>
        <variable>ToolChain.0</variable>
        <valuemap type="QVariantMap">
            <value type="QString" key="ProjectExplorer.GccToolChain.Debugger">C:/QtSDK/pythongdb/python_2.7based/gdb-arm-none-symbianelf.exe</value>
            <value type="QString" key="ProjectExplorer.GccToolChain.Path">C:/arm-2012.03/bin/arm-none-symbianelf-gcc.exe</value>
            <valuelist type="QVariantList" key="ProjectExplorer.GccToolChain.SupportedAbis">
                <value type="QString">arm-symbian-device-elf-32bit</value>
            </valuelist>
            <value type="QString" key="ProjectExplorer.GccToolChain.TargetAbi">arm-symbian-device-elf-32bit</value>
            <value type="bool" key="ProjectExplorer.ToolChain.Autodetect">false</value>
            <value type="QString" key="ProjectExplorer.ToolChain.DisplayName">GCCE 4.6.3</value>
            <value type="QString" key="ProjectExplorer.ToolChain.Id">Qt4ProjectManager.ToolChain.GCCE:{77212fca-15c4-45d3-9d0b-afee232d6004}</value>
            <value type="QString" key="ProjectExplorer.ToolChain.MkSpecOverride"/>
        </valuemap>
    </data>
    <data>
        <variable>ToolChain.1</variable>
        <valuemap type="QVariantMap">
            <value type="QString" key="ProjectExplorer.GccToolChain.Debugger">C:/QtSDK/pythongdb/python_2.7based/gdb-arm-none-symbianelf.exe</value>
            <value type="QString" key="ProjectExplorer.GccToolChain.Path">C:/QtSDK/Symbian/tools/gcce4/bin/arm-none-symbianelf-gcc.exe</value>
            <valuelist type="QVariantList" key="ProjectExplorer.GccToolChain.SupportedAbis">
                <value type="QString">arm-symbian-device-elf-32bit</value>
            </valuelist>
            <value type="QString" key="ProjectExplorer.GccToolChain.TargetAbi">arm-symbian-device-elf-32bit</value>
            <value type="bool" key="ProjectExplorer.ToolChain.Autodetect">false</value>
            <value type="QString" key="ProjectExplorer.ToolChain.DisplayName">GCCE</value>
            <value type="QString" key="ProjectExplorer.ToolChain.Id">Qt4ProjectManager.ToolChain.GCCE:{0ea1e4e6-6e1a-4d19-a27f-052483ac957b}</value>
            <value type="QString" key="ProjectExplorer.ToolChain.MkSpecOverride"/>
        </valuemap>
    </data>
    <data>
        <variable>ToolChain.Count</variable>
        <value type="int">2</value>
    </data>
    <data>
        <variable>Version</variable>
        <value type="int">1</value>
    </data>
</qtcreator>

Best Regards,
Fabian (huellif)

No comments:

Post a Comment