2013-01-24 27 views
1

我試圖在Mac上構建一個簡單的Qt 5程序。但我失敗了。如何在Mac上構建qt 5項目

的代碼非常簡單:

#include <QtWidgets/QApplication> 

int main(int argc, char *argv[]) 
{ 
    QApplication app (argc, argv); 
    return app.exec(); 
} 

我用:

clang++ -I ~/Qt5.0.0/5.0.0/clang_64/include -L/Users/crazylion/Qt5.0.0/5.0.0/clang_64/lib test.cpp 

然後我得到這個錯誤:

Undefined symbols for architecture x86_64: 
    "QApplication::exec()", referenced from: 
     _main in test-jPGORy.o 
    "QApplication::QApplication(int&, char**, int)", referenced from: 
     _main in test-jPGORy.o 
    "QApplication::~QApplication()", referenced from: 
     _main in test-jPGORy.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

有什麼我失蹤?

回答

0

我有同樣的問題,在我看來,在發佈中有一些錯誤,它給了我一些錯誤,因爲新安裝(使用qt創建器)我沒有一些模糊的qt庫(不正常的QT5模塊,但在開發某種庫),所以我傾向於認爲它可以被Qt的問題

這就是說我有一些問題,以便更好地理解:

- 您使用一個IDE?

- 如果你正在使用一個這是它?

- 是否包含* .pro中所有模塊的地震?

- 您是否使用過4.8版本,您是否遇到過這些問題?

P.S.如果你沒有特別的必要性,我建議你堅持4.8版本(因爲我沒有問題),因爲5.0剛剛發佈了

1

首先,不要手工編譯和鏈接Qt項目;使用qmake和項目文件。

在您的源代碼目錄中運行qmake -project以生成基本項目文件。

編輯的項目文件,並添加以下行:QT += widgets

現在運行qmake生成一個Makefile文件。

現在運行make來構建您的程序。

其次,你可以簡單地#include <QApplication>

1

如果你想支持的qmake的使用鐺++,你需要指定庫對鏈接,與庫目錄(您提供哪些)一起。

clang++ -I ~/Qt5.0.0/5.0.0/clang_64/include -L/Users/crazylion/Qt5.0.0/5.0.0/clang_64/lib -lQtCore -lQtGui test.cpp