我正在努力为WEC构建Qt 5.4。我正在使用Toradex SDK(http://developer.toradex.com/software-resources/arm-family/windows-ce/development-tools#Visual_Studio_2008)。我能得到它使用“配置-platform Win32的msvc2008 -xplatform wince70embedded-ARMV4I-msvc2008”,但构建失败了大量的连接问题,如以下配置:无法为Windows Embedded Compact 7构建Qt 5.4
moc_qabstractitemmodel.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
moc_qstringlistmodel.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
moc_qeventdispatcher_win_p.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
Qt5Cored_pch.obj : error LNK2019: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::Lockit(void)” ([email protected]@@[email protected]) referenced in function “public: __cdecl std::_String_const_iterator<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >::_String_const_iterator<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >(void)” ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected])
moc_qtimeline.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
moc_qfilesystemwatcher_p.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
moc_qfilesystemwatcher_polling_p.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
moc_qfilesystemwatcher_win_p.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qxmlstream.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
moc_qabstractanimation_p.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
moc_qfuturewatcher.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
moc_qeasingcurve.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qmimetypeparser.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qmimemagicrule.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qmimeglobpattern.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qmimeprovider.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qsignaltransition.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qeventtransition.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qmimedatabase.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qmimetype.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qstate.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qfinalstate.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qhistorystate.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qabstracttransition.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
qeventdispatcher_win.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl std::Lockit::~_Lockit(void)” ([email protected]@@[email protected])
然后它最终失败:
.... \ LIB \ Qt5Cored.dll:致命错误LNK1120:24层无法解析的外部
我这些指令http://doc.qt.io/qt-5/install-wince.html,http://doc.qt.io/qt-5/windowsce-customization.html,http://doc.qt.io/qt-5/requirements-wince.html以下。
nmake的完整输出可以在这里找到https://onedrive.live.com/redir?resid=C4C880935B574748!90413&authkey=!ALtPVXdc7CKS1Uk&ithint=file,txt。
这是我一直在为此苦苦挣扎的第三天,我终于用尽了一切,请帮忙!
编辑: 我想我应该从一开始就加入这一点,但这里是我想出了qmake.conf:
# qmake configuration for Windows Embedded Compact 7 with VS2008 on ARM targets
#
# This is just a template for creating WEC7 mkspecs for ARM targets
# Replace the SDK name with actual SDK name.
include(../common/wince/qmake.conf)
CE_SDK = SDK2wince7
CE_ARCH = ARMV4I
DEFINES += QT_NO_ACCESSIBILITY QT_NO_NATIVE_GESTURES QT_NOSTANDARDSHELL_UI_MODEL _CRT_SECURE_NO_DEPRECATE _WIN32_WCE=0x700 $$CE_ARCH _AMRV7_ armv7 _ARM_
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB /ENTRY:mainACRTStartup
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB
QMAKE_LFLAGS_DLL = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB /DLL /SAFESEH:NO
QMAKE_LIBFLAGS_RELEASE = /LTCG
QMAKE_LIBS = corelibc.lib coredll.lib
QMAKE_LIBS_CORE = corelibc.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_LIBS_OPENVG = libopenvg.lib
QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib
QMAKE_RC = rc
QMAKE_COMPILER_DEFINES -= _MSC_VER=1400
QMAKE_COMPILER_DEFINES += _MSC_VER=1500
好的,谢谢,我不知道是否有任何调试设置设置,我真的没有任何建立Qt的经验,我只是遵循标准的构建过程,因为我找不到预编译的二进制文件 – Gerharddc
我是一位BSP /驱动程序开发人员,对Qt有很少的经验。 –
对不起,但错过了我的部分评论:) 在我们的网站上,你可以找到一些二进制文件: http://developer.toradex.com/knowledge-base/qt-on-the-toradex-modules 但这些是为v 4.8。 您的应用程序中是否需要某些5.4特定功能? 对于Qt专业知识,我们依赖于我们的合作伙伴KDAB: http://www.kdab.com/services/platforms/qt-for-windows-ce/ 对不起,但很多人都在假期(包括我自己:) )并且获得快速答案可能会很复杂。 –