Qt QtCore4 does not link with ARM target



  • I was playing around with Qt in Visual Studio 2005. I was able to run a simple application when the Target Machine was THUMB, but if I change it in ARM I get the following link error:

    @ QtCore4.lib(QtCore4.dll) : fatal error LNK1112: module machine type 'THUMB' conflicts with target machine type 'ARM'@

    Could help me with this?


  • Moderators

    How was the compilation of Qt libs for the ARM processor done?
    What is the target OS?



  • I used @-xplatform wincewm60professional-msvc2005 @ . Is it wrong? The qmake says @ /MACHINE THUMB @ . Could I saftely recompile Qt change @ /MACHINE @ in @ ARM @ ?

    Thank you


  • Moderators

    I am compiling using MSVC 2005 for x-compilation to WINCE5 also with an ARM processor as target. My linker options have /SUBSYSTEM:WINDOWSCE set, but no /MACHINE. So it must use the default value. That works for me. I remember coming across some statement with thumb and changed it to arm too. The result was not successful. So I am using defaults.

    Where do you set /MACHINE parameter in the menu? I could not find right away.



  • inside:
    @mkspecs/wincewm60professional-msvc2005/qmake @

    and its content is:

    @include(../wincewm50smart-msvc2005/qmake.conf)

    CE_SDK = Windows Mobile 6 Standard SDK
    CE_ARCH = ARMV4I

    DEFINES -= _WIN32_WCE=0x501
    DEFINES += _WIN32_WCE=0x502

    Windows Mobile 6 Standard edition defines

    GWES_ICONCURS=1 although there is no cursor support

    DEFINES += QT_NO_CURSOR

    QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:WINDOWSCE,5.02 /MACHINE:THUMB /ENTRY:mainACRTStartup
    QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWSCE,5.02 /MACHINE:THUMB
    QMAKE_LFLAGS_DLL = /SUBSYSTEM:WINDOWSCE,5.02 /MACHINE:THUMB /DLL
    QMAKE_LIBFLAGS = $$QMAKE_LFLAGS_WINDOWS

    @

    looking at the docs:

    QMAKE_LFLAGS_WINDOWS: This variable contains link flags when building console programs.

    So I was wandering if change in @ARM@ could help.
    Thank you for your time


  • Moderators

    Frankly I do not know. I have always used the default setting for compilation of Qt for wince. The check of conf showed, as you mentioned, /MACHINE:THUMB



  • change in @MACHINE:THUMB@ does not help (it does not compile). Anyone could suggets any fix?

    Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
    Copyright (C) Microsoft Corporation. All rights reserved.

    bq. link /LIBPATH:"c:\Qt\everywhere\lib" /LIBPATH:"c:\Qt\everywhere\lib" /NO
    LOGO /NODEFAULTLIB:OLDNAMES.LIB /INCREMENTAL:NO /SUBSYSTEM:WINDOWSCE,6.00 /MACHI
    NE:ARM /DLL /SAFESEH:NO /VERSION:4.82 /OUT:....\lib\QtCore4.dll @C:\Users\emanu
    ele\AppData\Local\Temp\nm14DE.tmp
    corelibc.lib(COREDLL.dll) : fatal error LNK1112: module machine type 'THUMB' con
    flicts with target machine type 'ARM'

    @Dump of file coredll.lib

    File Type: LIBRARY

    FILE HEADER VALUES
    1C2 machine (Thumb)
    3 number of sections
    4F7C1BAC time date stamp Wed Apr 04 12:00:12 2012
    10C file pointer to symbol table
    8 number of symbols
    0 size of optional header
    100 characteristics
    32 bit word machine@
    @

    File Type: LIBRARY

    FILE HEADER VALUES
    1C0 machine (ARM)
    A number of sections
    44FF7FFD time date stamp Thu Sep 07 04:12:13 2006
    A357 file pointer to symbol table
    20 number of symbols
    0 size of optional header
    100 characteristics
    32 bit word machine@

    any idea?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.