2016-02-16 3 views
0

Я пытаюсь запустить старый qt-проект. Я считаю, что он был написан в QT4.x, и теперь я использую QT 5.5.Заголовки в QtCore не найдены при повторной активации старого проекта

The * .pro файл выглядит примерно так:

###################################################################### 
# Automatically generated by qmake (2.01a) Di 29. Okt 15:17:13 2013 
###################################################################### 

TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . 

# Input 
HEADERS += ****all *.h files of the project are listed here**** 
FORMS += mainform.ui 
SOURCES += ***all *.cpp files of the project are listed here**** 

Перечисленные проблемы после строительства enter image description here являются:

Таким образом, он не может найти много заголовков файлов, которые являются частью QT! Я пробовал

QT  += core gui 
CONFIG += qt 

который не помог. Я знаю, что это связано с миграцией с QT4 на Qt5. В этом link это звучит так, будто произошла некоторая реорганизация. Может быть, мне просто нужно изменить «#include < Qt/QString.h>» во что-то новое?

+0

возможно просто будет работать? – hauron

+0

Обычно ему нужно просто '#include ' как в Qt4, так и Qt5 –

+0

Прочтите эту статью: https://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5 есть много вещей, которые нужно заботиться при обновлении вашего проекта от v.4 до v.5 (поэтому переход настолько медленный: Qt 5 был выпущен в 2012 году) – bibi

ответ

1

Пожалуйста, сначала изменяем ваш .pro файл в какой-то вещи следующим образом:

QT  += core gui multimedia 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = <Your Target Name> 
TEMPLATE = lib 
CONFIG += static 

HEADERS *= ../Include/*.h 

SOURCES *= ../Source/*.cpp \ 
#Add this line if you have any .ui files to add 
FORMS *= ../Forms/*.ui \ 

С Qt5 года, Qt рассматривает каждую вещь как QWidget. Вероятно, по этой причине вы получаете указанную выше ошибку, выделенную синим цветом.

Для строк вы просто используете #include "qstring.h", а затем можете проверить.

Надеюсь, что поможет.

+0

«Начиная с Qt5 и далее Qt рассматривает все как Qwidget» => Нет – Ilya

+0

Можете ли вы поделиться любым URL-адресом относительно этого? Потому что я понимаю, что это относится ко всем вещам как qWidgets. –

+0

QtWidgets отделен от QtGui, вот и все (http://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5) – Ilya

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