2

我正在尝试为 Visual Studio 2010 构建 Qt,并且我正在按照本文接受的答案中的说明进行操作

我正在使用修改后的配置命令:

configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -qt-libpng -qt-zlib -qt-libmng -qt-libtiff -qt-libjpeg

哪个工作正常,但是当我启动 nmake 时,它​​最终失败并返回此错误:

itemviews\qabstractitemview.cpp(2311) : error C2039: 'Key_BackSpace' : is not a member of 'Qt'
itemviews\qabstractitemview.cpp(2311) : error C2065: 'Key_BackSpace' : undeclared identifier
itemviews\qabstractitemview.cpp(2311) : error C2051: case expression not constant

...

Generating Code...
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

我使用的原始命令是前面提到的帖子中使用的命令,但我添加了这些:

-qt-libpng -qt-zlib -qt-libmng -qt-libtiff -qt-libjpeg

并删除了这个:

-no-ltcg

使其正常工作,但 nmake 仍然无法正常工作。

任何帮助将不胜感激,谢谢

4

2 回答 2

3

或者你可以尝试从另一个角度来看待这个错误,比如错字或其他东西。实际上,这个问题一种拼写错误。尝试将原始文件修改Qt::Key_BackSpaceQt::Key_Backspace,然后nmake再次修改。我遇到了您在此处发布的问题,并且确实使用了注释掉的方式。直到我偶尔看看屏幕下方的键盘......,是的,它是Backspace而不是BackSpace

此外,更具体地说,您可以在以下版本中签出相同源文件中的片段,例如:

Qt 4.7.4:%QTDIR%/src/gui/itemviews/qabstractitemview.cpp(2321):Qt::Key_Backspace

Qt 4.8.1:%QTDIR%/src/gui/itemviews/qabstractitemview.cpp(2337):Qt::Key_Backspace

于 2013-01-13T13:45:51.323 回答
1

绝对是事后的事,但我能够通过在 QT 4.6.4 的第 2311 行注释掉 qabstractitemview.cpp 中的 Qt::Key_BackSpace 案例来解决这个问题。我猜关键定义在补丁或同样愚蠢的东西中被改变了。您可以在 /%My QT Directory%/src/gui/itemviews/qabstractitemview.cpp 中找到该文件。希望这可以帮助!

于 2012-11-27T21:19:11.260 回答