CONFIG
作用:不使用默认路径,方便移植
- CONFIG(debug, debug|release) {
- DESTDIR = $$_PRO_FILE_PWD_/../../../debugXXXsystem
- } else {
- DESTDIR =$$_PRO_FILE_PWD_/../../../realeaseXXXsystem
- }
是用于 Qt 项目的配置管理,其中涉及到了 Qt 的构建系统中的 CONFIG 变量。这段代码的作用是根据当前的构建类型来设置 DESTDIR(目标目录)的路径。
具体来说:
CONFIG(debug, debug|release)
表示如果当前构建类型是 debug 或者同时包含 debug 和 release,则执行对应的代码块。{ ... } else { ... }
表示在满足条件时执行第一个代码块,否则执行第二个代码块。因此,这段代码的意思是:
如果当前构建类型为 debug 或者同时包含 debug 和 release,则将 DESTDIR 设置为 $$_PRO_FILE_PWD_/../../../debugxxxsystem
;否则将 DESTDIR 设置为 $$_PRO_FILE_PWD_/../../../releasexxxsystem
。
其中 $$_PRO_FILE_PWD_
是 Qt 的内置变量,表示项目文件的当前目录。因此,DESTDIR 将会根据不同的构建类型设置不同的路径。
debugxxxsystem是文件夹,相对路径是相对pro的文件的路径而言的。
- #添加opencv的库
- #使用$$PWD变量来创建相对路径
- #$$PWD变量所创建的相对路径是相对于Qt项目文件(通常是.pro文件)
- win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../common/open2019qt/bin/ -lopencv_world412
- else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../common/open2019qt/bin/ -lopencv_world412d
-
- INCLUDEPATH += $$PWD/../../common/open2019qt/include
- DEPENDPATH += $$PWD/../../common/open2019qt/include
这段代码是在Qt项目文件(.pro文件)中用于添加OpenCV库的支持。让我解释每一行的含义:
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../common/open2019qt/bin/ -lopencv_world412
win32:CONFIG(release, debug|release)
: 这是一个条件语句,指定只在Windows平台下release模式或debug/release混合模式下执行。LIBS += -L$$PWD/../../common/open2019qt/bin/ -lopencv_world412
: 这一行指定了链接到OpenCV库的命令。-L$$PWD/../../common/open2019qt/bin/
添加了OpenCV库的路径,-lopencv_world412
指定了要链接的库文件名。else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../common/open2019qt/bin/ -lopencv_world412d
else:win32:CONFIG(debug, debug|release)
: 这是条件语句的另一部分,指定在Windows平台下debug模式执行。LIBS += -L$$PWD/../../common/open2019qt/bin/ -lopencv_world412d
: 这一行指定了链接到OpenCV调试版本库的命令。与前一个命令类似,但使用的是带有“d”后缀的库文件(例如,opencv_world412d
)。INCLUDEPATH += $$PWD/../../common/open2019qt/include
DEPENDPATH += $$PWD/../../common/open2019qt/include
INCLUDEPATH
,但是它指定了编译器依赖的路径,以便在项目重新构建时能够检测到头文件的更改。总体来说,这段代码的作用是在Qt项目中配置OpenCV库的链接和包含路径,以便项目能够使用OpenCV的功能。
- # QXlsx code for Application Qt project
- QXLSX_PARENTPATH=./QXlsx/ # current QXlsx path is . (. means curret directory)
- QXLSX_HEADERPATH=./QXlsx/header/ # current QXlsx header path is ./header/
- QXLSX_SOURCEPATH=./QXlsx/source/ # current QXlsx source path is ./source/
- include(./QXlsx/QXlsx.pri)
这段代码是一个在Qt项目中使用 QXlsx 库的示例,其中包含了一些路径的定义和 include
命令。
QXLSX_PARENTPATH=./QXlsx/
:指定 QXlsx 库的主目录路径为当前目录下的 QXlsx
文件夹。
QXLSX_HEADERPATH=./QXlsx/header/
:指定 QXlsx 库头文件的路径为当前目录下的 QXlsx/header/
文件夹。
QXLSX_SOURCEPATH=./QXlsx/source/
:指定 QXlsx 库源文件的路径为当前目录下的 QXlsx/source/
文件夹。
include(./QXlsx/QXlsx.pri)
:包含 QXlsx.pri
文件,该文件应该在 ./QXlsx/
目录下。这个文件通常包含了配置 QXlsx 库的编译设置以及其他必要的定义。
总的来说,这段代码的目的是在 Qt 项目中引入并配置 QXlsx 库,以便在项目中使用它提供的功能。
这三种命令一般是我在项目中用的比较多的,当然还有一些其他的命令,用的比较少。
TARGET = QtDemo
HEADERS += include/painter.h
FORMS += forms/painter.ui
SOURCES += sources/main.cpp sources
RESOURCES += qrc/painter.qrc
这条语句的含义是,如果QT_MAJOR_VERSION大于4(也就是当前使用的Qt5及更高版本)需要增加widgets模块。如果项目仅需支持Qt5,也可以直接添加“QT += widgets”一句。不过为了保持代码兼容,最好还是按照QtCreator生成的语句编写。
CONFIG用来告诉qmake关于应用程序的配置信息。
CONFIG += c++11 //使用c++11的特性
在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这样做比使用“=”那样替换已经指定的所有选项更安全。