时间:2022-09-17 10:29:24 | 栏目:C代码 | 点击:次
QT工程的pro文件,在创建工程时由QTCreater自动创建,我们可以往里面添加内容,增加库文件的声明,包含路径、预处理器定义,生成目录,输出中间目录等等设置。
QT+= core gui charts
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = qcharts
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
mainwindow.cpp \
mylineseries.cpp \
myvalueaxis.cpp
HEADERS += \
mainwindow.h \
mylineseries.h \
myvalueaxis.h
FORMS += \
mainwindow.ui \
mylineseries.ui \
myvalueaxis.ui
以上是一个简单的示例所用到的配置选项。还有一些常用的别的配置选项如下。
CONFIG(debug, release|debug){
win32:QCPLIB = qcustomplotd2
else: QCPLIB = qcustomplotd
} else {
win32:QCPLIB = qcustomplot2
else: QCPLIB = qcustomplot
}
INCLUDEPATH += ../thirdPart
LIBS += -L../thirdPart -l$$QCPLIB
也可以这样写
CONFIG(debug, release|debug){
win32:QCPLIB = qcustomplotd2
else: QCPLIB = qcustomplotd
} else {
win32:QCPLIB = qcustomplot2
else: QCPLIB = qcustomplot
}
INCLUDEPATH += ../thirdPart
LIBPATH += ../thirdPart
LIBS += -l$$QCPLIB
4.1静态库
TEMPLATE = lib CONFIG += staticlib
4.2动态库
去掉CONFIG += staticlib这一行
省略号,自己补足内容
CONFIG(debug, release|debug){
win32:...
else:...
} else {
win32:...
else:...
}
例:指定win32和unix的库路径
win32:LIBS+= libavformat.lib unix:LiBS+= libavformat.so
contains(QT_ARCH, arm64){
message("arm64") #在这里处理arm64所需
}else{
message("x86")
}
以上可以组合使用,如下。
CONFIG += debug_and_release
CONFIG(debug, debug|release){ //处理debug
win32{
}
unix{
contains(QT_ARCH, arm64){
message("arm64")
}else{
message("x86")
}
}
}else{ //处理release
win32{
}
unix{
}
}
target.path = /home/admin1/target
#需要拷贝的文件以及拷贝目地位置
conf.path = /home/admin1/target
conf.files += \
../config.ini \
../sqlite.db \
INSTALLS += target conf
上述描述的是,在终端编译完成后,执行make install,生成的可执行文件会拷贝到/home/admin1/target 这个路径下,../config.ini ../sqlite.db,一个配置文件和一个数据库文件也会拷贝到/home/admin1/target路径下。