QT pro文件详细写法+实例
很多的初学者都没有注意pro 文件的内容 今天简单的介绍一下 这个文件主要内容
TEMPLATE:这个变量是用来定义你的工程将被编译成什么模式。如果没有这个设置,系统将默认编译为application。
TEMPLATE=app表示这个project将被编译成一个应用程序(application)
lib(生成库的Makefile)
subdirs(生成有多级目录管理的Makefile),
vcapp,vclib,vcsubdirs(对应Windows 下面VC)
TEMPLATE = app //文件中的写法
TARGET:生成最后目标的名字
TARGET = keysiUI
DESTDIR:指定生成目标的路径
DEPENDPATH:工程的依赖路径
INCLUDEPATH:这个用来指定工程要用到的头文件路径
INCLUDEPATH += /opt/ros/indigo/include
DEPENDPATH += /opt/ros/indigo/include INCLUDEPATH += /usr/include/curl
DEPENDPATH += /usr/include/curl
SOURCES:工程需要的源文件
SOURCES += main.cpp\
mainwindow.cpp \
browser.cpp \
singleton.cpp \
HEADERS:工程所需要的头文件
HEADERS += mainwindow.h \
include.h \
includeClass.h
FORMS:工程要用到的ui文件(ui文件时用QT设计器生成的)
HEADERS += mainwindow.h \
include.h \
includeClass.h
LIBS:加载动态库
LIBS += -l:/opt/ros/indigo/lib/libcv_bridge.so
LIBS += -l:/usr/lib/x86_64-linux-gnu/libboost_thread.so
LIBS += -l:/usr/lib/x86_64-linux-gnu/libpthread.so
INCLUDEPATH += /usr/include
LIBS += -l:/usr/lib/x86_64-linux-gnu/libjsoncpp.so
LIBS += -l:/usr/lib/x86_64-linux-gnu/libcurl.so
LIBS += -L/opt/ros/indigo/lib -lroscpp -lrospack -lpthread -lrosconsole -lrosconsole_log4cxx -lrosconsole_backend_interface -lxmlrpcpp -lroscpp_serialization -lrostime -lcpp_common -lroslib -ltf -lyaml-cpp
###-- pm sub -lkdl_conversions
LIBS += -l:/opt/ros/indigo/lib/libroslib.so
TRASHLATIONS:加载要用到的语言翻译*.ts文件
RESOURCES:加载要用到的资源*.qrc文件。
RESOURCES += \
image.qrc
CONFIG:告诉qmake应用程序的配置信息。
这个变量可以用来指定是生成debug模式还是release模式,也可以都生成。
也可以用来打开编译器警告(warn_on输出尽可能多的警告信息)或者
关闭(warn_off -编译器会输出尽可能少的警告信息)。还可以用来配置要Qt加载库。
想要qt+多线程:CONFIG+=qt thread
Eg:
CONFIG+=debug_and_release
CONFIG(debug,debug|release){
TARGET= hello
DESTDIR= ./debug
}else{
TARGET= hello
DESTDIR= ./release
}
CONFIG += c++
CONFIG -= app_bundle
UI_DIR:UIC将ui转化为头文件所存放的目录
RCC_DIR:RCC将qrc文件转化为头文件所存放的目录
MOC_DIR:MOC命令将含Q_OBJECT的头文件转换为标准的头文件存放的目录
OBJECTS_DIR:生成的目标文件存放的目录
DEFINES:应用程序所需的额外的预处理程序定义的列表#在.h文件中就可以使用:#ifdefinexx_xx_xxx
LIBS += -L folderPath //引入的lib文件的路径 -L:引入路径
Release:LIBS+= -L folderPath // release 版引入的lib文件路径
Debug:LIBS+= -L folderPath // Debug 版引入的lib 文件路径
RC_FILE = xxx.icns //程序图标
QT是跨平台的,所以我们在不同的平台上用同一个pro文件,这要加入有关平台的信息。
windows是win32,Linux平台是unix。
Eg:
在Windows和Linux的动态库文件格式是不一样的。一个是lib文件一个是so文件
win32:LIBS+= ./mitab/mitab_i.lib
unix:LiBS+= ./mitab/libmitab.so
eg:
win32{
SOURCES+= hello_win.cpp //win平台
}
unix{
SOURCES+= hello_win.cpp //unix/linux平台
}
以通过在其它任何一个变量的变量名前加$$来把这个变量的值分配给当前的变量。例如:
MY_DEFINES= $$DEFINE #将DEFINE的值分配给MY_DEFINES
QT pro文件详细写法+实例的更多相关文章
- QT中.pro文件的写法
QT中.pro文件的写法 qmake 变量 含义 #xxxx 注释, 从“#”开始,到这一行结束 SOURCES 指定源文件 SOURCES = *.cpp 对于多源文件,可用空格分开 SOURC ...
- Qt Pro文件与Qt模块启用
看qt论坛中经常有人忘记 QT+=network 等语句.随便写写吧,或许对他人有帮助. 一.从哪开始呢 不妨先看个例子吧: #include <QtCore/QCoreApplication& ...
- 【整理】QT .pro文件中的变量说明
注释 以"#"开始的行,直到结束 模板变量 告诉qmake生成哪种makefile TEMPLATE = app 其中 app - 表示该工程建立一个应用程序的makefile.这 ...
- QT .pro文件 LIBS用法详解
在程序中需要使用到团队其它成员开发的静态库和动态库,起初是知道使用LIBS变量在在.pro文件中指定需要包含的库,但是实际使用的时候却遇到很大麻烦,但其实确实是因为自己看官方文档不太用心造成的. 下面 ...
- Qt pro文件语法
在Qt下做开发的时候.pro文件就是工程的配置文件,虽然很多时候里面的选项是工具自动生成的,但是难免会需要手动修改的时候,下面就记录一下它的基本语法 #:在.pro文件中表示注释,注释当前行 TEMP ...
- QT pro文件解析
在QT中使用qmake自动生成pro文件,如果要自己定制工程选项,则需要自行修改pro文件. pro文件有以下关键字:TEMPLATE.TARGET.DESTDIR.DEPENDPATH.INCLUD ...
- Qt .pro文件 详解
1. TEMPLATE变量TEMPLATE描述了为建立目标文件而采用何种模板,即生成何种形式的Makefile文件.Qmake工具定义了5种模板:1. 应用程序App,为建立一个Qt应用程序创建Mak ...
- QT .pro文件的学习收获
1. 载pro文件预定义宏: CONFIG(debug,debug|release){ DEFINES+=__DEBUG__ }else{ DEFINES+=__RELEASE__ macx:DEST ...
- QT .pro文件中的变量说明
https://blog.csdn.net/tanou3212/article/details/79942840 TEMPLATE:定义了工程的编译模式 赋值方式为:TEMPLATE=app (1 ...
随机推荐
- php soapclient 超时 设置
用php的soapclient,默认是60秒.可在php.ini里配置, 重启APache 或者在PHP代码里做设置 ini_set('default_socket_timeout', 300);// ...
- React中使用百度地图API
今天我们来搞一搞如何在React中使用百度地图API好吧,最近忙的头皮发麻,感觉身体被掏空,所以很久都没来写博客了,但今天我一定要来一篇好吧 话不多说,我们直接开始好吧 特别注意:该React项目是用 ...
- js 中三元运算符的运用
外层为false,逐级向内层判断 $scope.nums=700; $scope.result=($scope.nums>300)?($scope.nums>400)?($scope.nu ...
- Ubuntu 16.04.4 LTS + Ambari 2.6.1.5 + HDP 2.6.4.0 安装部署
服务器 主机名 master slave1 slave2 slave3 IP 192.168.1.40 192.168.1.41 192.168.1.42 192.168.1.43 离线包服务器: 1 ...
- PopupWindow 弹出时背景变暗
下面的PopupWindow 的高是相对于屏幕高设计,宽是获取的某一个控件的宽设置,位置位于某控件的上方,红色部分是设置弹出时屏幕变暗的. //设置contentView View contentV ...
- git基础介绍
git基础介绍 这是git操作的基础篇,是以前的写的操作文档,就没有进行手打,直接把图片贴进来了,你们担待哈,有不正确的地方可以指正出来,我将在第一时间去修改,多谢哈! 一.文件状态:git系统的文件 ...
- (网页)JS和CSS不缓存方法,时间戳
<link ..... href=".....css?time"+new Date()> <script type="text/javascript&q ...
- python第十五天-原来还差一份作业
作业 1: 员工信息表程序,实现增删改查操作 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select ...
- 用LinQ扩展方法,泛型扩展方法,实现自定义验证字符是否空、对象是否为null,及泛型约束使用,Action的使用
一.Linq扩展方法 1.扩展方法必须是静态方法.扩展方法所在的类必须是静态类 2.扩展方法里面的参数必须制定this关键字,紧跟需要扩展的类型,如下: 二.泛型约束 1.使用泛型的原因,是在不知道需 ...
- Django之model模块创建表完整过程
Django中,与数据库相关的模块是model模块,它提供了一种简单易操作的API方式与数据库交互,它是通过ORM映射的方式来操作数据库,一个类对应数据库一张表,一个类属性,对应该表的一个字段,一个实 ...