qmake –project 這個命令是用來生成QT的工程文件(.pro)的,這個文件是用來設置編譯或者鏈接的變量,以便用qmake生成相對應的Makefile文件 TEMPLATE:這個變量是用來定義你的工程將被編譯成什么模式。 TEMPLATE=app 表示這個project將被編譯成一個應用程序(application)。如果沒有這個設置,系統將默認編譯為application。 TEMPLATE還有其他的值:lib(生成庫的Makefile) ,subdirs(生成有多級目錄管理的Makefile),vcapp,vclib,vcsubdirs(對應Windows 下面VC)。 TARGET:生成最后目標的名字。 如果要指定生成目標的路徑,這加一個DESTDIR(這個用來指定路徑)。 DEPENDPATH:工程的依賴路徑。 INCLUDEPATH:這個用來指定工程要用到的頭文件路徑。 一般是自定義的或者沒有放入系統頭文件路徑的頭文件。 SOURCES:工程需要的源文件。 HEADERS:工程所需要的頭文件。 FORMS:工程要用到的ui文件。(ui文件時用QT設計器生成的)。 LIBS:加載動態庫。LIBS +=./mitab/libmitab.so。 TRASHLATIONS:加載要用到的語言翻譯*.ts文件。 RESOURCES:加載要用到的資源*.qrc文件。 win32:RC_FILE:加載要用到rc文件(這個只能用在Windows環境)。可以用來配置圖標。 CONFIG:告訴qmake應用程序的配置信息。這個變量可以用來指定是生成debug模式還是release模式,也可以都生成。也可以用來打開編譯器警告或者關閉。還可以用來配置要Qt加載庫。 Eg: CONFIG +=debug_and_release CONFIG(debug, debug|release){ TARGET = hello DESTDIR = ./debug }else{ TARGET = hello DESTDIR = ./release } UI_DIR:UIC將ui轉化為頭文件所存放的目錄。 RCC_DIR:RCC將qrc文件轉化為頭文件所存放的目錄。 MOC_DIR:MOC命令將含Q_OBJECT的頭文件轉換為標准的頭文件存放的目錄。 OBJECTS_DIR:生成的目標文件存放的目錄。 DESTDIR:生成最后目標的目錄 因為QT是跨平台的,所以我們在不同的平台上用同一個pro文件,這要加入有關平台的信息。在windows是win32,Linux平台是unix。 Eg:在Windows和Linux的動態庫文件格式是不一樣的。一個是lib文件一個是so文件。 win32:LIBS += ./mitab/mitab_i.lib unix:LiBS += ./mitab/libmitab.so eg: win32 { SOURCES += hello_win.cpp //win平台 } unix { SOURCES += hello_win.cpp //unix/linux平台 } DEFINES: 添加預定義
eg: unix:DEFINES += __ARM__ win32:DEFINES += _WINDOWS