【发布时间】: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