2013-07-16 124 views
0

我已經開始與qt從幾天開發。我想要的是移動鼠標光標在特定的位置,我決定一個程序,但是當我編譯即使最簡單的程序,MINGW32打印此錯誤:與mingw32 Qt編譯錯誤

error: undefined reference to `_imp___ZN15QGuiApplicationC1ERiPPci' 
error: undefined reference to `_imp___ZN7QCursorC1Ev' 
error: undefined reference to `_imp___ZN7QCursor6setPosEii' 
error: undefined reference to `_imp___ZN15QGuiApplicationD1Ev' 
error: undefined reference to `_imp___ZN15QGuiApplicationD1Ev' 
release/main.o: bad reloc address 0x13 in section `.eh_frame' 
collect2.exe:-1: error: error: ld returned 1 exit status 

這是我的代碼:

#include <QtGui/QGuiApplication> 
#include <QtGui/QCursor> 

int main(int argc, char *argv[]) 
{ 
    QGuiApplication a(argc, argv); 
    QCursor *cur = new QCursor; 
    cur->setPos(50,50); 
    return 0; 

    return a.exec(); 
} 

.pro文件

QT  += core 

QT  -= gui 

TARGET = untitled 
CONFIG += console 
CONFIG -= app_bundle 

TEMPLATE = app 


SOURCES += main.cpp 

我錯了什麼?我如何解決它?

我對Win8的64位專業的mingw32安裝的Qt 5.1

謝謝

回答

2

我覺得您的項目文件是錯誤的。

所以,你想一個GUI應用程序,但您可以通過

QT  -= gui 

刪除GUI模塊您是否嘗試過創建與項目啓動向導此應用程序? 我想你可能選擇了錯誤的應用程序類型。

編輯

如果你想建立一個項目,而不GUI模塊,您需要與排除「 - =」操作符。默認情況下,QT包含核心和圖形用戶界面,所以下面一行將導致最少的Qt工程正在興建

QT -= gui # Only the core module is used. 

所以,你只有核心模塊。 來源:http://qt-project.org/doc/qt-4.8/qmake-project-files.html

嘗試刪除

QT  -= gui 

行,因爲 「需要注意的是QT包括核心和GUI模塊默認」。查看源代碼。

+0

謝謝你,我用嚮導創建項目時出錯。我覺得像這樣一個noob :) –