Important: Please read the Qt Code of Conduct -

How to adjust QT Creator for cross-compilation with QT5 in Windows

  • I need to make a cross-compilation with QT5 in Windows under the ARM Linux platform. I have found a lot of descriptions how to adjust QT Creator in Linux, but nothing for Windows. I tried to use Harmattan environment from Qt SDK, but he is so old and he makes programs with QT4. For my mind the easiest way is to use Harmattan from Qt SDK but I need to change his library from QT4 to QT5. As I understand I have to make my own sysroot instead existing (harmattan_sysroot_10.2011.34-1_slim). If all is true, it is followed my questions:

    1. How can I make new sysroot for Harmattan?
    2. Do I have to make new "qmake" for QT5 ?
    3. Do I have to find new "make" for QT5 ?
    4. Maybe there is another way to achieve my goal?

    1. I don't know. 2) Each Qt build has its own qmake. There is usually a 1:1 mapping between Qt installations and qmake binaries, so: Yes. 2) No, you should be able to use the same 'make' as for Qt 4. 4) Probably, but I don't know.

  • Thanks for reply. I just started to build qmake in Windows, but I've got a problem: make process unexpected crashes with the message:
    @This is the Qt for Windows Open Source Edition.

    You have already accepted the terms of the license.

    Creating qmake...
    Makefile:13: *** missing separator. Stop.
    Makefile:13: *** missing separator. Stop.
    Cleaning qmake failed, return code 2

    The part of qmake Makefile is:
    @#AutoGenerated by configure.exe
    BUILD_PATH = F:\Qt\qt-5.3.1\qtbase
    SOURCE_PATH = F:\Qt\qt-5.3.1\qtbase
    INC_PATH = F:\Qt\qt-5.3.1\qtbase\include
    QT_VERSION = 5.3.1
    QMAKESPEC = linux-arm-gnueabi-g++

    !IF "$(QMAKESPEC)" == "win32-msvc" || "$(QMAKESPEC)" == "" || "$(QMAKESPEC)" == "win32-msvc2002" || "$(QMAKESPEC)" == "win32-msvc2003" || "$(QMAKESPEC)" == "win32-msvc2005" || "$(QMAKESPEC)" == "win32-msvc2008" || "$(QMAKESPEC)" == "win32-msvc2010" || "$(QMAKESPEC)" == "win32-msvc2012" || "$(QMAKESPEC)" == "win32-msvc2013" || "$(QMAKESPEC)" == "win32-icc"

    !if "$(SOURCE_PATH)" == ""
    SOURCE_PATH = ..
    !if "$(BUILD_PATH)" == ""
    BUILD_PATH = ..

    QMKSRC = $(SOURCE_PATH)\qmake

    specific stuff for NMake and ICC

    !if "$(QMAKESPEC)" == "win32-icc"
    CXX = icl
    LINKER = link
    CFLAGS = /Zc:forScope
    CXX = cl
    LINKER = link

    What the problem?

Log in to reply