【问题标题】:Build Qt 5.2 for windows ce 6为 windows ce 6 构建 Qt 5.2
【发布时间】:2014-02-18 16:16:52
【问题描述】:

我尝试在安装了 ActivePerl 等的 Windows 7 64 位计算机上使用 Visual Studio 2005 Professional 构建 qt 5.2.1 (opensource.zip)。我使用带有以下行的 Visual Studio 2005 命令提示符进行配置:

configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005 -opensource -nomake examples

大约 2 分钟后出现以下输出:

…
qglobal.cpp
qmalloc.cpp
qlibraryinfo.cpp
qnumeric.cpp
qlogging.cpp
D:\qt-source5.2.1\qtbase\src\corelib\global\qlogging.cpp(96) : error C3861:             “GetConsoleWindow”: identifier not found.
Code will be generated…
NMAKE : fatal error U1077: ““C:\Program Files (x86)\Microsoft Visual Studio     8\VC\BIN\cl.EXE”“: return code “0×2”
Stop.
Building qmake failed, return code 2

我也试着做一个简单的:,

configure

在 Visual Studio 2005 命令提示符中 -> 以同样的错误结束。 有人知道这里出了什么问题吗?我是在做完全错误的事情还是遗漏了什么? 我还将这个发布到了一个有类似问题的用户创建的线程的 qt 论坛 -> http://qt-project.org/forums/viewthread/36177/ 但是那里没有人回答。

编辑:今天我在 QT 论坛上更新了我的问题。见 -> http://qt-project.org/forums/viewthread/36177/ 我修改了问题文件 qtbase\src\corelib\global\qlogging.h 并在上面添加了以下内容:

#ifndef _WIN32_WINNT 
#define _WIN32_WINNT 0×0500 
#endif

我在搜索“getConsoleWindow”问题时找到了这个解决方案。参考在此处记为备注 -> http://msdn.microsoft.com/en-us/library/windows/desktop/ms683175(v=vs.85).aspx 在此之后,我的配置运行良好,没有任何问题。但现在我预计在调用 nmake 后会出现以下错误。 nmake 运行约 30 分钟后,我得到了以下输出:

d:\readonly\qtsrc\qtbase\include\qtcore\../../src/corelib/tools/qvector.h(666) : error 
C2244: 'QVector<T>::erase' : unable to match function definition to an existing   declaration definition 'QVector<T>::iterator     QVector<T>::erase(QTypedArrayData<T>::iterator,QTypedArrayData<T>::iterator)'
existing declarations
'QTypedArrayData<T>::iterator QVector<T>::erase(QTypedArrayData<T>::iterator)'
'QTypedArrayData<T>::iterator QVector<T>::erase(QTypedArrayData<T>::iterator,QTypedArrayData<T>::iterator)'

还有一些错误,但都是 QVector::insert 和 QVector::erase。我用谷歌搜索了一下,发现这个帖子看起来像一个类似的问题,也没有回复:http://qt-project.org/forums/viewthread/36735 我想我不得不说我为自定义 ce sdk 编译。所以我更改了 qtbase\mkspecs\wince60standard-armv4i-msvc2005\qmake.conf 并在那里添加了额外的包含和库。我还在那里使用以下定义:

DEFINES += WINCE WINDOWS WINDOWS_CE_OS _WIN32_WCE=0×600 UNDER_CE=0×600 ARM _ARM ARMV4I  UNICODE UNICODE _USE_32BIT_TIME_T _CRT_SECURE_NO_DEPRECATE $$CE_ARCH _AMRV7 armv7 ARM QT_NO_CLIPBOARD QT_NO_ACCESSIBILITY QT_NO_NATIVE_GESTURES QT_NOSTANDARDSHELL_UI_MODEL

编译qt 5.2.1 for ce有这么难吗?我应该使用旧版本的 qt(我至少需要 qt5 来处理 JSON)?这里有关于这个问题的任何建议吗?

【问题讨论】:

    标签: qt windows-7 visual-studio-2005 windows-ce qt5


    【解决方案1】:

    对 JSON 使用第三方库。 Visual Studio 2005 是太旧的编译器。例如 - jsoncpp 或 QJson。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      相关资源
      最近更新 更多