轉載自:http://blog.chinaunix.net/uid-23670869-id-2391678.html (博主:xutianxi)
1.qmake 常用命令:
qmake -project //生成pro文件,自動檢查c/c++程序文件
qmake -t lib //生產把源碼編譯成庫的pro工程文件
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.
2.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, ...) //
void qDebug(const char * msg, ... ) //
void qFatal(const char * msg, ... ) //輸出錯誤信息
qMax(const T & value1,const T & value2 )//
qMin(const T & value1,const T & value2 ) //
3.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()}:檢查文件是否存在