2012-01-19 30 views
3

我最近開始通過一個C++ Gui編程與Qt 4書籍。包含/ Qt頭文件被棄用

但是,我無法越過第一個教程。

#include <QApplication> 
#include <QTextEdit> 

int main(int argv, char **args) 
{ 
    QApplication app(argv, args); 

    QTextEdit textEdit; 
    textEdit.show(); 

    return app.exec(); 
} 

每次我嘗試編譯,我得到這樣的:

C:\Qt\4.8.0\andrew>qmake -project 

C:\Qt\4.8.0\andrew>qmake 

C:\Qt\4.8.0\andrew>make 
mingw32-make -f Makefile.Debug 
mingw32-make[1]: Entering directory `C:/Qt/4.8.0/andrew' 
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT - 
DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE - 
DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\includ 
e\QtCore" -I"..\include\QtGui" -I"..\include" -I"." -I"..\include\ActiveQt" -I"d 
ebug" -I"..\mkspecs\win32-g++" -o debug\tutone.o tutone.cpp 
In file included from tutone.cpp:1:0: 
C:\Qt\4.8.0\include\Qt\Qapplication.h:3:10: warning: #warning "Inclusion of head 
er files from include/Qt is deprecated." [-Wcpp] 
In file included from tutone.cpp:2:0: 
C:\Qt\4.8.0\include\Qt\Qpushbutton.h:3:10: warning: #warning "Inclusion of heade 
r files from include/Qt is deprecated." [-Wcpp] 
tutone.cpp: In function 'int qMain(int, char**)': 
tutone.cpp:11:7: error: 'class QApplication' has no member named 'setMainWidget' 

mingw32-make[1]: *** [debug/tutone.o] Error 1 
mingw32-make[1]: Leaving directory `C:/Qt/4.8.0/andrew' 
mingw32-make: *** [debug] Error 2 

由於我是新來的Qt和相當新的編譯,我認爲錯誤是我的結束。我是否聲明標題錯誤或什麼?

我.pro文件看起來是這樣的:

###################################################################### 
# Automatically generated by qmake (2.01a) Thu Jan 19 12:41:21 2012 
###################################################################### 

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

# Input 
HEADERS += tutone.h \ 
      C:/Qt/4.8.0/include/Qt/Qapplication.h \ 
      ../include/QtGui/qapplication.h \ 
      ../src/gui/kernel/qapplication.h \ 
      C:/Qt/4.8.0/include/Qt/Qpushbutton.h \ 
      ../include/QtGui/qpushbutton.h \ 
      ../src/gui/widgets/qpushbutton.h 
SOURCES += tutone.cpp \ 
      tutthree.cpp \ 
      ../src/gui/kernel/qapplication.cpp \ 
      ../src/gui/widgets/qpushbutton.cpp 

感謝

+1

您是否嘗試過使用'#include '和'#include '?我還沒有嘗試過4.8,但他們可能只是想讓你通過_module_工作。 –

+0

好吧,我試過了,得到了同樣的結果。我試圖編譯的這個特定教程直接來自Qt網站。我應該提到的一件事是,在Qt Creator中它說我的頭文件都不存在。我是否必須定義標題的完整路徑? –

+0

如果在線和您的.pro文件的內容是否可以添加到確切教程的鏈接? –

回答

4

這是一個錯誤,原因是在Qt的構建設置的錯誤。
這不是問題,並已記錄在Qt bug跟蹤器

1

運行qmake -project你應該在.pro文件中添加QT變量之後。然後你就可以刪除這些奇怪HEADERS和來源(和動態鏈接Qt庫到你的程序):

QT += core gui # <-- this line 
TEMPLATE = app 
TARGET = ProjectNameHere 
DEPENDPATH += . 
INCLUDEPATH += . 

# Input 
HEADERS += tutone.h 
SOURCES += tutone.cpp \ 
     tutthree.cpp \