QT中.pro文件的写法

时间:2024-01-12 21:39:02

QT.pro文件的写法

 

qmake 变量

含义

#xxxx

注释, 从“#”开始,到这一行结束

SOURCES

指定源文件

SOURCES = *.cpp

对于多源文件,可用空格分开

SOURCES = 1.cpp 2.cpp 3.cpp

或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行

SOURCES = hello.cpp \

main.cpp

一个更冗长的方法是单独地列出每一个文件,就像这样

SOURCES += hello.cpp

SOURCES += main.cpp

HEADERS

指定头文件

HEADERS = hello.h

HEADERS += hello.h

CONFIG

配置信息

CONFIG+= qt warn_on release

编译器标志:

l  release - 应用程序将以release模式连编。如果“debug”被指定,它将被忽略。

l  debug - 应用程序将以debug模式连编。

l  warn_on - 编译器会输出尽可能多的警告信息。如果“warn_off”被指定,它将被忽略。

l  warn_off - 编译器会输出尽可能少的警告信息。

连编的库/应用程序的类型:

l  qt - 应用程序是一个Qt应用程序,并且Qt库将会被连接。

l  thread - 应用程序是一个多线程应用程序。

l  x11 - 应用程序是一个X11应用程序或库。

l  windows - 只用于“app”模板:应用程序是一个Windows下的窗口应用程序。

l  console - 只用于“app”模板:应用程序是一个Windows下的控制台应用程序。

l  dll - 只用于“lib”模板:库是一个共享库(dll)。

l  staticlib - 只用于“lib”模板:库是一个静态库。

l  plugin - 只用于“lib”模板:库是一个插件,这将会使dll选项生效。

TARGET

指定目标文件名

如果不设置该项目,目标名会被自动设置为跟项目文件一样的名称

TARGET = filename

INTERFACES

添加界面文件(ui)

INTERFACES = filename.ui

TEMPLATE

模块设置

app(生成应用程序,默认)

subdirs(生成makefile文件编译subdirs指定的子文件夹)

lib(生成库文件)

TEMPLATE = app

DESTDIR

指定生成的应用程序放置的目录

DESTDIR += ../bin

UI_DIR

指定uic命令将.ui文件转化成ui_*.h文件的存放的目录

UI_DIR += forms

RCC_DIR

指定rcc命令将.qrc文件转换成qrc_*.h文件的存放目录

RCC_DIR += ../tmp

MOC_DIR

指定moc命令将含Q_OBJECT的头文件转换成标准.h文件的存放目录

MOC_DIR += ../tmp

OBJECTS_DIR

指定目标文件的存放目录

OBJECTS_DIR += ../tmp

DEPENDPATH

程序编译时依赖的相关路径

DEPENDPATH += . forms include qrc sources

INCLUDEPATH

头文件包含路径

INCLUDEPATH += .

CODECFORSRC

源文件编码方式

CODECFORSRC = GBK

FORMS

工程中包含的.ui设计文件

FORMS += forms/painter.ui

RESOURCES

工程中包含的资源文件

RESOURCES += qrc/painter.qrc

win32{…}

unix{…}

平台相关性处理

win32 {

SOURCES +=
hello_win.cpp

}

LANGUAGE

LANGUAGE = C++

exists

!exists

如果一个文件不存在,停止qmake

!exists( main.cpp ) {
  error( "No main.cpp file found")
}

QT

加入库模块

QT += xml

LIBS

LIBS += -L folderPath  //引入的lib文件的路径  -L:引入路径

LIBS += -lLibName   //引入lib 文件  -l : 引入库

LIBS += -L"$(OutDir)" \

-L"$(SolutionDir)lib" \

-lopengl32 \

-lglu32 \

-lObjectDbAPI \

-lGraphicsLibD