2013-01-10 18 views
8

Właśnie zainstalowałem Qt Creator 2.6.1 na bazie Qt 5.0.QDialog nie taki plik lub katalog - Qt Windows

Próbuję otworzyć projekt wykonany na 4.8, ale nie mogę go skompilować. Pokazuje mi błędy "nie takiego pliku lub katalogu".

error: C1083: Cannot open include file: 'QtGui/QApplication': No such file or directory 

error: C1083: Cannot open include file: 'QDialog': No such file or directory 

error: C1083: Cannot open include file: 'QMainWindow': No such file or directory 

error: C1083: Cannot open include file: 'QWidget': No such file or directory 

I wiele innych.

Dodałem ścieżkę qmake.exe do PATH ... czy muszę zrobić coś innego?

Odpowiedz

19

Przeczytaj przewodniki przejścia z Qt4 na Qt5. Link1Link2Link3

Jedną z głównych zmian infrastrukturalnych wewnętrznych 5 Qt Qt porównaniu 4 rozdzielanie interfejsu z modułu QtGui do nowego modułu QtWidgets. To oczywiście będzie wymagało najmniejszych zmian w systemie kompilacji pod numerem , ale także powoduje konieczność dodawania kolejnych kanałów dla nagłówków , które nie były potrzebne wcześniej, ponieważ te fragmenty zostały usunięte z nagłówków, które teraz pozostają w module QtGui.

Innym problemem związanym z przeniesieniem z Qt 4 do Qt 5 jest obsługa z uwzględnieniem klas, które przeszły do ​​modułu QtWidgets. Zważywszy Qt 4 kod oparty mogą używać

#include <QtGui/QWidget> 
This must be updated to either 

#include <QtWidgets/QWidget> 
Or more portably (Which works in Qt 4 and Qt 5): 

#include <QWidget> 
5

miałem ten problem, dokonał dwóch zmian

  1. echo "QT + = widżety" >> /fileProject.pro

  2. dodaj #include QDialog do pliku zawierającego deklaracje QDialog

wcześniej, w tym QtGui, wystarczyło, ale QT5 dzieli widżety na więcej plików .h, co sprawia, że ​​trzeba je uwzględnić. Na przykład QtMenuBar został uwzględniony w QtMenu.h, ale teraz wymaga QtMenuBar.h być #included

Powiązane problemy