Results 1 to 2 of 2

Thread: Colibri Board -> Windows CE (Custom SDK) -> Qt 4.7.3 -> LINKER Problem!! :/

  1. #1
    Join Date
    May 2011
    Posts
    2
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11 Windows

    Question Colibri Board -> Windows CE (Custom SDK) -> Qt 4.7.3 -> LINKER Problem!! :/

    Hi there,

    i am currently stuck with a problem which involves a Colibri 600 Board, Windows CE & Qt 4.7.3. I need to build a Qt Crosscompiler for Windows CE 6. So the target system is a colibri board with windows ce. My Host system is Windows 7 with MS Visual Studio 2005. I use nmake and console scripts for compilation.

    I followed and tried several howtos and forum answers:
    1. http://doc.qt.nokia.com/4.7/windowsc...r-a-custom-sdk
    2. http://doc.qt.nokia.com/4.7/windowsc...omization.html
    3. http://developer.qt.nokia.com/forums/viewthread/4230


    My qmake.conf file looks like this:
    Qt Code:
    1. include(../common/wince/qmake.conf)
    2.  
    3. CE_SDK = Colibri600
    4. CE_ARCH = ARMV4I
    5.  
    6. DEFINES += STANDARDSHELL_UI_MODEL _WIN32_WCE=0x600 $$CE_ARCH _ARMV4I_ armv4i _ARM_ ARM _M_ARM ARM _WIN32 __arm__
    7. DEFINES += WINCE _WINDOWS _UNICODE UNICODE Q_OS_WINCE_WM QT_NO_PRINTER QT_NO_PRINTDIALOG
    8.  
    9. QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:WINDOWSCE,6.00 /MACHINE:THUMB /ENTRY:mainACRTStartup
    10. QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWSCE,6.00 /MACHINE:THUMB
    11. QMAKE_LFLAGS_DLL = /SUBSYSTEM:WINDOWSCE,6.00 /MACHINE:THUMB /DLL /SAFESEH:NO
    12. QMAKE_LIBFLAGS_RELEASE = /LTCG
    13. QMAKE_LIBS = corelibc.lib coredll.lib
    14. QMAKE_LIBS_CORE = libcmt.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib Essentials.lib
    15. QMAKE_LIBS_GUI = ceshell.lib ole32.lib Essentials.lib $$QMAKE_LIBS_CORE
    16. QMAKE_LIBS_NETWORK = ws2.lib $$QMAKE_LIBS_GUI
    17. QMAKE_LIBS_OPENGL =
    18. QMAKE_LIBS_COMPAT =
    19.  
    20. QMAKE_RC = rc /DUNDER_CE=600 /D_WIN32_WCE=0x600
    To copy to clipboard, switch view to plain text mode 


    I configured Qt using the following configure command:
    Qt Code:
    1. c:\Qt\4.7.3CE>configure -shared -platform win32-msvc2005 -xplatform wince60colib ri600-armv4i-msvc2005 -arch windowsce -opensource -release -declarative -no-qt3s upport -no-openssl -no-opengl -no-openvg -no-webkit -no-phonon -no-phonon-backen d -no-accessibility -iwmmxt -qt-zlib -qt-gif -qt-libpng -qt-libjpeg -qt-libtiff -nomake docs -nomake examples -nomake demos
    To copy to clipboard, switch view to plain text mode 


    Before I call nmake, i set my environment variables to:
    Qt Code:
    1. set INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\ce\include;C:\Program Files\Microsoft Visual Studio 8\VC\ce\atlmfc\include;C:\WINCE600\Colibri600\Include\Armv4i;C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\Smartphone2003\Include
    2. set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;C:\Program Files\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i;C:\WINCE600\Colibri600\Lib\ARMV4I;C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\Smartphone2003\Lib\armv4;C:\Qt\4.7.3CE\lib
    3. set LIBPATH=C:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;C:\Program Files)\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i;C:\WINCE600\Colibri600\Lib\ARMV4I;C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\Smartphone2003\Lib\armv4;C:\Qt\4.7.3CE\lib
    4. set PATH=C:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;C:\Qt\4.7.3CE\bin;%PATH%
    To copy to clipboard, switch view to plain text mode 


    I got it to work until the linking process: Seems there is a library missing. How can i find the missing library?? Where is the problem?
    I guessed there is a library path missing, but i couldn't find out, which one it is.


    Error Message:
    Qt Code:
    1. ...
    2. qworkspace.cpp
    3. cl -c -FIqt_gui_pch.h -Yuqt_gui_pch.h -Fptmp\obj\release_shared\QtGui_pch.pch -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -w34100 -w3418
    4. 9 -EHs-c- -DQT_SHARED -DQT_THREAD_SUPPORT -DUNDER_CE -DWINCE -D_WINDOWS -D_UNICODE -DUNICODE -D_WIN32 -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -D
    5. STANDARDSHELL_UI_MODEL -D_WIN32_WCE=0x600 -DARMV4I -D_ARMV4I_ -Darmv4i -D_ARM_ -DARM -D_M_ARM -DARM -D_WIN32 -D__arm__ -DWINCE -D_WINDOWS -D
    6. _UNICODE -DUNICODE -DQ_OS_WINCE_WM -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_MAKEDLL -DQT_NO_CAST_
    7. TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH_DEFINES -DQT_NO_DIRECT
    8. DRAW -DQT_USE_BUNDLED_LIBPNG -DPNG_NO_ASSEMBLER_CODE -DQT_NO_CUPS -DQT_NO_LPR -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_CDE -DQT_NO_S
    9. TYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_PLASTIQUE -DQT_NO_STYLE_GTK -DQT_NO_STYLE_CLEANLOOKS -DQT_NO_STYLE_MOTIF -DQT_NO_STY
    10. LE_S60 -DQ_INTERNAL_QAPP_SRC -DQT_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_IWMMXT -DQT_NO_DYNAMIC_CAST -I"..\..\include\QtCore" -I"..\..\in
    11. clude" -I"..\..\include\QtGui" -I"tmp\rcc\release_shared" -I"tmp" -I"..\3rdparty\wintab" -I"image" -I"..\3rdparty\libpng" -I"..\3rdparty\zli
    12. b" -I"..\3rdparty\zlib" -I"..\3rdparty\harfbuzz\src" -I"dialogs" -I"..\..\include\ActiveQt" -I"tmp\moc\release_shared" -I"." -I"..\..\mkspec
    13. s\wince60colibri600-armv4i-msvc2005" -Fotmp\obj\release_shared\ @C:\Users\holsteto\AppData\Local\Temp\qtableview.obj.7432.664799.jom
    14. qtableview.cpp
    15. link /LIBPATH:"c:\Qt\4.7.3CE\lib" /LIBPATH:"c:\Qt\4.7.3CE\lib" /NOLOGO /NODEFAULTLIB:OLDNAMES.LIB /INCREMENTAL:NO /SUBSYSTEM:WINDOWS
    16. CE,6.00 /MACHINE:THUMB /DLL /SAFESEH:NO /VERSION:4.73 /OUT:..\..\lib\QtGui4.dll @C:\Users\holsteto\AppData\Local\Temp\QtGui4.dll.7432.668964
    17. .jom
    18. widgets\qprintpreviewwidget.cpp(0): Warning: No relevant classes found. No output generated.
    19. dialogs\qprintpreviewdialog.cpp(0): Warning: No relevant classes found. No output generated.
    20. Creating library ..\..\lib\QtGui4.lib and object ..\..\lib\QtGui4.exp
    21. qdnd_win.obj : error LNK2019: unresolved external symbol IID_IDataObject referenced in function "public: virtual long __cdecl QOleDataObject
    22. ::QueryInterface(struct _GUID const &,void * *)" (?QueryInterface@QOleDataObject@@UAAJABU_GUID@@PAPAX@Z)
    23. qdnd_win.obj : error LNK2019: unresolved external symbol IID_IDropSource referenced in function "public: virtual long __cdecl QOleDropSource
    24. ::QueryInterface(struct _GUID const &,void * *)" (?QueryInterface@QOleDropSource@@UAAJABU_GUID@@PAPAX@Z)
    25. qdnd_win.obj : error LNK2019: unresolved external symbol IID_IDropTarget referenced in function "public: virtual long __cdecl QOleDropTarget
    26. ::QueryInterface(struct _GUID const &,void * *)" (?QueryInterface@QOleDropTarget@@UAAJABU_GUID@@PAPAX@Z)
    27. qole_win.obj : error LNK2019: unresolved external symbol IID_IEnumFORMATETC referenced in function "public: virtual long __cdecl QOleEnumFmt
    28. Etc::QueryInterface(struct _GUID const &,void * *)" (?QueryInterface@QOleEnumFmtEtc@@UAAJABU_GUID@@PAPAX@Z)
    29. ..\..\lib\QtGui4.dll : fatal error LNK1120: 4 unresolved externals
    30. command failed with exit code 1120
    31. command failed with exit code 2
    32. command failed with exit code 2
    To copy to clipboard, switch view to plain text mode 


    Help would be greatly appreciated !!
    Thanks a lot in advance
    Tobias
    Last edited by snospmis_eht; 6th May 2011 at 17:19.

  2. #2
    Join Date
    May 2011
    Posts
    2
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11 Windows

    Exclamation Re: Colibri Board -> Windows CE (Custom SDK) -> Qt 4.7.3 -> LINKER Problem!! :/

    [SOLVED]

    Hi, ok I solved the Problem by excluding some QT_Modules:
    Qt Code:
    1. QT_NO_DRAGANDDROP QT_NO_CLIPBOARD QT_NO_WIN_ACTIVEQT
    To copy to clipboard, switch view to plain text mode 

    Therefor my qmake.conf file looks like :
    Qt Code:
    1. include(../common/wince/qmake.conf)
    2.  
    3. CE_SDK = Colibri600
    4. CE_ARCH = ARMV4I
    5.  
    6. DEFINES += STANDARDSHELL_UI_MODEL _WIN32_WCE=0x600 $$CE_ARCH _ARMV4I_ armv4i _ARM_ ARM _M_ARM ARM _WIN32 __arm__
    7. DEFINES += WINCE _WINDOWS _UNICODE UNICODE Q_OS_WINCE_WM QT_NO_PRINTER QT_NO_PRINTDIALOG QT_NO_DRAGANDDROP QT_NO_CLIPBOARD QT_NO_WIN_ACTIVEQT
    8.  
    9. QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:WINDOWSCE,6.00 /MACHINE:THUMB /ENTRY:mainACRTStartup
    10. QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWSCE,6.00 /MACHINE:THUMB
    11. QMAKE_LFLAGS_DLL = /SUBSYSTEM:WINDOWSCE,6.00 /MACHINE:THUMB /DLL /SAFESEH:NO
    12. QMAKE_LIBFLAGS_RELEASE = /LTCG
    13. QMAKE_LIBS = corelibc.lib coredll.lib
    14. QMAKE_LIBS_CORE = libcmt.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib Essentials.lib
    15. QMAKE_LIBS_GUI = ceshell.lib ole32.lib oleaut32.lib uuid.lib Essentials.lib $$QMAKE_LIBS_CORE
    16. QMAKE_LIBS_NETWORK = ws2.lib $$QMAKE_LIBS_GUI
    17. QMAKE_LIBS_OPENGL =
    18. QMAKE_LIBS_COMPAT =
    19.  
    20. QMAKE_RC = rc /DUNDER_CE=600 /D_WIN32_WCE=0x600
    To copy to clipboard, switch view to plain text mode 

    Besides that I had to change/fix qmlruntime.cpp, because it uses some classes/events which are not available after excluding Drag&Drop functionality.
    I attached the whole file as zip (see qmlruntime.zip).

    So besides that, I tested some Qt applications, and sadly they run as slow as .net or silverlight applications on Windows CE.

    Is there a Way to improve Qts Performance under Windows CE?

    I've got a ColibriPXA310 in Version 1.3 and Windows CE 6.0.

Similar Threads

  1. single board computer embeddede board, mini2440v2, sky2440v2
    By wujianwen in forum Qt for Embedded and Mobile
    Replies: 1
    Last Post: 2nd November 2016, 07:29
  2. qt application on arm board
    By sattu in forum Qt for Embedded and Mobile
    Replies: 2
    Last Post: 29th November 2010, 17:19
  3. Replies: 1
    Last Post: 26th November 2010, 08:22
  4. Build QT/Windows CE 6.0 for custom SDK
    By yannwilfried in forum Qt for Embedded and Mobile
    Replies: 0
    Last Post: 22nd November 2010, 10:53
  5. integrating QT to ARM board
    By piyushpandey in forum Qt for Embedded and Mobile
    Replies: 1
    Last Post: 31st August 2010, 14:15

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.