0 Replies Latest reply on Jul 26, 2017 2:02 AM by Zoltan Gyarmati

# Compile Qt 5.6 for Windows Ce 6.0 linking issue

Dear Community,

i'm trying to  cross-compile Qt 5.6 for Windows CE 6.0 for MC3190. I have VS2008 set up, and the vendor's SDK (Motorola MC3100c60 Windows CE6.0 PSDK (ARMV4I)) installed, and i can compile/run a simple testapp from VS2008.

I set up a custom qmakespec for Qt, here:

```

include(../common/wince/qmake.conf)

CE_SDK                  = Motorola MC3100c60 Windows CE6.0 PSDK # replace with actual SDK name

CE_ARCH                 = ARMV4I

DEFINES += WINCE _WINDOWS WINDOWS_CE_OS _WIN32_WCE=0x600 UNDER_CE=0x600 ARM ARM ARMV4I _CRT_SECURE_NO_DEPRECATE \$\$CE_ARCH QT_NO_CLIPBOARD

DEFINES += QT_NO_ACCESSIBILITY QT_NO_NATIVE_GESTURES QT_NO_DRAGANDDROP QT_NO_WIN_ACTIVEQT QT_NOSTANDARDSHELL_UI_MODEL ARMV4I _M_ARM arm  _ARM_ ARM _M_ARM ARM _WIN32 __arm__

QMAKE_LFLAGS_CONSOLE    = /SUBSYSTEM:WINDOWSCE,6.00 /MACHINE:THUMB

QMAKE_LFLAGS_WINDOWS    = /SUBSYSTEM:WINDOWSCE,6.00 /MACHINE:THUMB

QMAKE_LFLAGS_DLL        = /MACHINE:THUMB /DLL /SAFESEH:NO /VERBOSE

QMAKE_LIBFLAGS_RELEASE  = /LTCG

QMAKE_LIBS              = coredll.lib corelibc.lib

QMAKE_LIBS_CORE         = corelibc.lib libcmt.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib

QMAKE_LIBS_GUI          = ceshell.lib ole32.lib \$\$QMAKE_LIBS_CORE

QMAKE_LIBS_NETWORK      = ws2.lib \$\$QMAKE_LIBS_GUI

QMAKE_LIBS_OPENGL       =

QMAKE_LIBS_COMPAT       =

QMAKE_RC                = rc /DUNDER_CE=600 /D_WIN32_WCE=0x600

```

and i configure Qt from the corresponding environment as:

```

configure -platform win32-msvc2008 -xplatform wince60standard-armv4i-msvc2008 -opensource -nomake examples -no-compile-examples -qt-zlib -no-accessibility -no-native-gestures -qt-pcre -no-icu -no-gif -qt-libpng -no-opengl -skip winextras -confirm-license -verbose -release

```

The configure runs properly, but when building, the linking of QtCore  fails with:

```

corelibc.lib(crtstrta.obj) : error LNK2019: unresolved external symbol main referenced in function "void __cdecl mainCRTStartupHelper(struct HINSTANCE__ *,unsigned short const *)" (?mainCRTStartupHelper@@YAXPAUHINSTANCE__@@PBG@Z)

..\..\lib\Qt5Core.dll : fatal error LNK1120: 1 unresolved externals

```

however, according to my understanding, it shouldn't look for 'main', but for "WinMain", which is in winmain_qt.cpp.

I've tried to specify custom \ENTRY points on the linker command line, but after that the linker was still looking for 'main()'.

Unfortunately my google-fu didn't help too much, i found only this unanswered question at the Qt devel mailing list:

http://lists.qt-project.org/pipermail/development/2014-October/018645.html

Did anybody else seen (or even fixed...) this issue?