Qt .pro文件常用命令说明
-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选项生效。
win32:CONFIG(debug,debug|release){
}else{
}
或者
win32{
}else{
}
contains、linux、都可以用这种形式