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

来源:互联网 发布:mac os x 镜像 编辑:程序博客网 时间:2024/06/08 18:00

一: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 guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = OpencvTEMPLATE = app#INCLUDEPATH and LIBS depend on opencv's path where is installed in your computerwin32{    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
(也可以不带参数,自行测试)