-Wl,-Bstatic指示跟在后面的-lxxx選項鏈接的都是靜態庫,-Wl,-Bdynamic指示跟在后面的-lxxx選項鏈接的都是動態庫
例如:
LIBS += -Wl,-Bstatic -lssh2 靜態鏈接ssh2庫
LIBS += -Wl,-Bdynamic -lssl 動態鏈接ssl庫
添加庫目錄和庫文件
LIBS += -L后面跟路徑,表示添加庫目錄
LIBS += -l后面跟庫名,表示添加具體的庫
添加編譯器對C++11的支持
QMAKE_CXXFLAGS += "-std=c++11"
添加生成MAKEFILE文件中,搜索庫的路徑信息
QMAKE_LFLAGS += -Wl,-rpath=/home/d5000/guodiao/lib后面的即是要添加的路徑名
TARGET = SheetShow表示生成的程序名
TEMPLATE = app 【這個標識其實是為了告訴qmake生成什么樣的MakeFile】
- (app)表示該項目生成的是可執行文件
- (lib)是庫
- (subdirs)是一個管理多個.pro項目的.pro
VERSION = 1.0.0如果TEMPLATE是lib,那么這個是確定庫的版本號
DESTDIR = ./bin表示生成程序所在的路徑
MOC_DIR = temp/moc表示中間文件.moc的路徑
RCC_DIR = temp/rcc表示中間文件.rcc的路徑
UI_DIR = temp/ui表示中間文件.ui的路徑
OBJECTS_DIR = temp/obj表示中間文件.obj的路徑
include(xxx.pri) 表示將HEADERS += 和 SOURCES += 寫到了xxx.pri里面。然后下一層是.pri文件 + 頭文件 + 源文件。
DEFINES += QT_DEPRECATED_WARNINGS:定義編譯選項。QT_DEPRECATED_WARNINGS表示當Qt的某些功能被標記為過時的,那么編譯器會發出警告。
greaterThan(QT_MAJOR_VERSION,4):QT+=widgets:這是Qt5為了兼容Qt4而專門設計的,語句大意為如果Qt版本大於4,則將widgets模塊加入到QT變量中,從這一點,我們可以推敲出Qt4的widgets模塊是和gui模塊為一體的,而Qt5已經將其分離了出來。
INCLUDEPATH += 表示添加包含路徑
OTHER_FILES += 表示其他文件
RC_FILE += 添加RC文件,在RC文件中添加一行:IDI_ICON1 ICON DISCARDABLE "logo.ico"其中logo.ico為圖標文件名
RESOURCES += 表示資源文件
CONFIG += 表示配置變量,指定了編譯器所要使用的選項和所需要被連接的庫
- release - 應用程序將以release模式連編。如果“debug”被指定,它將被忽略。
- debug - 應用程序將以debug模式連編。
- warn_on - 編譯器會輸出盡可能多的警告信息。如果“warn_off”被指定,它將被忽略。
- warn_off - 編譯器會輸出盡可能少的警告信息。
- qt - 應用程序是一個Qt應用程序,並且Qt庫將會被連接。
- thread - 應用程序是一個多線程應用程序。
- x11 - 應用程序是一個X11應用程序或庫。
- windows - 只用於“app”模板:應用程序是一個Windows下的窗口應用程序。
- console - 只用於“app”模板:應用程序是一個Windows下的控制台應用程序。
- dll - 只用於“lib”模板:庫是一個共享庫(dll)。
- staticlib - 只用於“lib”模板:庫是一個靜態庫。
- plugin - 只用於“lib”模板:庫是一個插件,這將會使dll選項生效。