2012-07-04 2 views
2

Я пытаюсь построить Qt для Visual Studio 2010 и я следую инструкциям в принятом ответе this postСборка Qt для VS2010 с NMake возвращает ссылку ошибки

Я использую модифицированную команду 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 все равно не будет работать.

Любая помощь будет признателен, спасибо

+0

Нет спецификации платформы в команде конфигурирования? Может быть, это не обязательно при использовании configure.exe, хотя я не уверен. [Здесь] (http://eecs.vanderbilt.edu/research/hmtl/wiki/pmwiki.php?n=Knowledge.Qt) - это способ, которым Qt построен из источника для VS 2008 и 2010 в моей лаборатории. У нас нет проблем. Возможно, вы можете сравнить записи об этом процессе установки и посмотреть, где находится ваша проблема. –

+0

Точная ошибка здесь с Qt 4.6.4, с VS2008 в 64 бит, делая простой: configure -release -static -fast -no-qt3support -no-webkit -no-phonon -no-dbus -no-openssl -платформенный win32 -msvc2008 , за которым следует nmake. Я думаю, Qt 4.8.2 имел ту же проблему, но я не очень хорошо помню. – WhitAngl

ответ

1

Определенно путь постфактум здесь, но я был в состоянии обойти эту проблему закомментировав Qt :: Key_Backspace случай qabstractitemview.cpp на линии 2311 для Qt 4.6 +0,4. Я предполагаю, что ключевое определение было изменено в патче или что-то в равной степени тупой. Вы можете найти файл в каталоге /% My QT Directory%/src/gui/itemviews/qabstractitemview.cpp. Надеюсь это поможет!

2

Или вы можете попытаться принять эту ошибку с другой точки зрения, например, опечатку или что-то еще. Фактически, эта проблема - вид ошибок с опечаткой. Попробуйте изменить оригинал Qt::Key_BackSpace на Qt::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/гуй/itemviews/qabstractitemview.cpp (2337): Qt::Key_Backspace

+0

Это действительно исправляет проблему, спасибо! И это явно намного чище, чем комментировать это дело. Это должен быть принятый ответ :). – DerManu

+0

Спасибо .. исправление опечатки сохранить мой день :) – Joel

Смежные вопросы