Qt配置pro文件以及第三方库

一:pro文件常用配置参数

序号 qmake 变量 含义 例子
1 #XXX 注释, 从“#”开始,到这一行结束 #comment
2 CONFIG 配置信息 CONFIG += console
CONFIG -= app_bundle
3 DEFINES 定义宏 DEFINES -= UNICODE
DEFINES += SHAREDLIBRARY
4 DEPENDPATH 程序编译时依赖的相关路径 DEPENDPATH += $$PWD/Debug
5 DESTDIR 指定生成的应用程序放置的目录 DESTDIR += ../bin
6 exists !exists 判断一个文件不存在,如果不存在,停止 qmake !exists( main.cpp ){error(“No main.cpp file found”“)}
7 FORMS 工程中包含的.ui 设计文件 FORMS += widget.ui
8 HEADERS 指定头文件 HEADERS = widget.h
9 INCLUDEPATH 头文件包含路径 INCLUDEPATH += “D:\include”
INCLUDEPATH += $$PWD/include
10 LIBS LIBS += -L folderPath //引入的 lib 文件的路径 LIBS += -L”D:\lib”
LIBS += -L$$PWD/lib
LIBS += -lLibName //引入 lib 文件 LIBS += -luser32 \ lAdvapi32
11 MOC_DIR 指定moc命令将含 Q_OBJECT 的头文件转换成标准.h文件的存放目录 MOC_DIR += ../moc
12 OBJECTS_DIR 指定目标文件的存放目录 OBJECTS_DIR += ../obj
13 QT 加入库模块 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets QT += core gui
14 RC_FILE 指定程序图标 RC_FILE = logo.rc
15 RESOURCES 工程中包含的资源文件 RESOURCES += iamges.qrc
16 SOURCES 指定源文件 SOURCES = *.cpp
对于多源文件,可用空格分开 SOURCES = 1.cpp 2.cpp 3.cpp
或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行 SOURCES = widget.cpp \ main.cpp
一个更冗长的方法是单独地列出每一个文件,就像这样 SOURCES += hello.cpp SOURCES += main.cpp
17 TARGET 指定程序名,如果不设置,程序名自动设为项目名 TARGET = filename
18 TEMPLATE 设置程序模版
app(生成应用程序,默认) TEMPLATE = app
subdirs(生成 makefile 文件编译 subdirs 指定的子文件夹) TEMPLATE = subdirs
lib(生成库文件) TEMPLATE = lib
19 UI_DIR 指定 uic 命令将.ui 文件转化成 ui_*.h 文件的存放的目录 UI_DIR += ../ui
20 win32{…} linux{…} 平台相关性处理 win32{ LIBS += -luser32 \ -lAdvapi32 }
linux{ QT += x11extras }

二:Qt配置第三方库,以下以安装在本机绝对路径下的opencv为例,包括windows以及linux系统。pro文件写法:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Opencv
TEMPLATE = app

#INCLUDEPATH and LIBS depend on opencv's path where is installed in your computer
win32{
    INCLUDEPATH += "D:\\Program Files (x86)\\opencv\\build\\include"
    LIBS += -L"D:\\Program Files (x86)\\opencv\\build\\x86\\vc12\\lib"

    CONFIG(debug, debug|release){
        LIBS += -lopencv_core2413d       \
                 -lopencv_highgui2413d   \
                 -lopencv_imgproc2413d   \
                 -lopencv_video2413d     \
                 -lopencv_objdetect2413d
    }else{
        LIBS += -lopencv_core2413       \
                -lopencv_highgui2413    \
                -lopencv_imgproc2413    \
                -lopencv_video2413      \
                -lopencv_objdetect2413  \
    }
}

linux{
    INCLUDEPATH += "/usr/local/include"
    LIBS += -L"/home/Installer/opencv-2.4.13/opencv-2.4.13/lib"

    CONFIG(debug, debug|release){
        LIBS += -lopencv_cored       \
                -lopencv_highguid    \
                -lopencv_imgprocd    \
                -lopencv_videod      \
                -lopencv_objdetectd  \
    }else{
        LIBS += -lopencv_core       \
                -lopencv_highgui    \
                -lopencv_imgproc    \
                -lopencv_video      \
                -lopencv_objdetect  \
    }
}

SOURCES +=\
    facedetect.cpp

使用Qt Creator进行参数编译的方法,项目->运行->arguments,例如xxx.exe cascade=”data/haarcascades/haarcascade_frontalface_alt.xml” scale=1.3 lena.jpg

linux安装opencv步骤:
1.安装cmake

2.安装libgtk2.0-dev 和 pkg-config(一定要相对于下面安装步骤提前安装)

3.进入opencv源码目录,cmake CMakeList

4.make && make install

5.配置环境变量
sudo gedit /etc/ld.so.conf.d/opencv.conf(没有该文件的话自行创建),为文件添加内容/usr/local/lib

6.配置库
sudo ldconfig

7.更改环境变量
sudo gedit /etc/bash.bashrc,在文件末尾添加,PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

8.重启终端使配置生效。

例程测试:
1.进入opencv/sample/c目录

2.终端输入 ./build_all.sh (如果build_all.sh没有执行权限,chmod +x build_all.sh使之获得执行权限)

3../facedetect –cascade=”/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml” –scale=1.5 lena.jpg
(也可以不带参数,自行测试)

你可能感兴趣的:(Qt5.5.0+)