qmake 常用命令:
qmake -project //生成pro文件,自動檢查c/c++程序文件
qmake -tp vc //根據pro文件生成vc的工程文件,qt commericial有一個綁定到vs的工具,可以在菜單欄直接打開
qmake -r xxx.pro "CONFIG+=debug" //遞歸生成makefile
moc //包含Q_OBJECT文件轉換器
rcc //Qt resource compiler
uic //Qt ui file translator,to .h file.
Qt 常用宏:
平臺相關
Q_WS_WIN //window系統
Q_WS_X11 //xwindow系統
Q_WS_MAC //蘋果mac系統
Q_WS_SOL //sun的solaris系統
其它
QT_OPENGL_SUPPORT //是否支援opengl
QT_VERSION //qt的版本,如 if QT_VERSION > 0x040601(qt > 4.6.1)
QT_VERSION_STR //qt版本的字符串
QT_POINTER_SIZE //指針的字節寬度 32bit=4,64bit=8
QT_REQUIRE_VERSION //用在代碼中,比如QT_REQUIRE_VERSION(argc, argv, "4.0.2");
global常用函數
T qAbs(const T & value) //返回絕對值
void qCritical(const char * msg, ...) //輸出告警信息 參賽類似printf
void qDebug(const char * msg, ... ) // 輸出調試信息
void qFatal(const char * msg, ... ) //輸出錯誤信息
qMax(const T & value1,const T & value2 )// 求最大
qMin(const T & value1,const T & value2 ) // 求最小
pro 文件格式
#: 表示到行尾均為注視,被忽略
include: 可以包含別的文本文件,一般為*pri 例如 #include "../global.pri"
scope{;;}: 預定義 ,如win32{} 表示在win32平臺下的定義,其它忽略
win32/unix/linux-g++/linux-g++-64: 平臺宏
DESTDIR: 產生目標文件路徑
MOC_DIR: moc轉換文件路徑
RCC_DIR: 資源文件路徑
UI_DIR:ui文件轉換的路徑
LIBEXT: 產生lib的后綴
QMAKE_CFLAGS_DEBUG:
QMAKE_CXXFLAGS_DEBUG:
QMAKE_CFLAGS_RELEASE:
QMAKE_CXXFLAGS_RELEASE:
TEMPLATE: 決定生成makefile采用的模板,
=lib 表示庫文件
=app 表示生成可執行文件
=subdirs 表示處理子目錄(在下面用SUBDIRS += **來指定那些子目錄)
TARGET: 指定目標文件名
Qt+=: 添加額外的模塊支持,例如Qt -= QtCore;Qt += network,phonon,xml,thread
DEFINES: 添加額外的宏定義,如win下需要的export等
DEPENDPATH: 添加以來的路徑
INCLUDEPATH: 添加頭文件包含路徑
HEADERS: 需要包含的頭文件
SOURCES: 需要包含的源文件
FORMS: 需要包含的ui文件
RESOURCES:需要包含的資源文件
LIBS:依賴庫的路徑和名稱 -L{xxdirxx} -l{xxnamexx}
CONFIG: 添加配置,如warn_on debug_and_release plugin
TRANSLATIONS: 多國語言支持文件
INSTALLS: 要安裝的文件
target.path: 安裝的路徑
#在pro文件支持environment variables和自定義變量
#如sources.file += $$SOURCES $$HEADERS
#sources.path = $$DESTIN_DIR
#INSTALLS += target source
defineReplace(xxx): xxx為變量 ,此函數可以返回一個變量值如:$$xxx()
exists(file1,file2){error()}:檢查文件是否存在