使用nmake为VS2010构建Qt会返回链接错误

时间:2012-07-04 13:05:48

标签: visual-studio-2010 qt nmake

我正在尝试为Visual Studio 2010构建Qt,我正在按照this post

的接受答案中的说明进行操作

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

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仍然无法正常工作。

感谢任何帮助,谢谢

2 个答案:

答案 0 :(得分:2)

或者您可以尝试从另一个角度来看待此错误,例如拼写错误或其他内容。事实上,这个问题是错误的类错误。尝试再次将原始Qt::Key_BackSpace修改为Qt::Key_Backspacenmake。我遇到了你在这里发布的问题我确实使用了 comment-out 方式。直到我偶尔在屏幕下看一下我的键盘......是的,它是 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

答案 1 :(得分:1)

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