Qt开发中,pro文件是对正工程所有源码、编译、资源、目录等的全方位配置的唯一方式,pro文件的编写非常重要,以下对几个重要项进行说明(win和linux,mac平台通用配置)

注释

以”#”开始的行,直到结束

模板变量

告诉qmake生成哪种makefile

TEMPLATE = app
  • 1

其中

  • app -表示该工程建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用
  • lib - 表示该工程建立一个库的makefile

生成目录

指定生成的可执行程序的目录,可以绝对和相对路径

DESTDIR += ../bin
  • 1

生成的应用程序名

软件名

TARGET = qtest
  • 1

编译选项

增添或者移除某个模块 
比如增添C++11和console支持,Qt的各模块也在这里面添加

CONFIG += console c++11 network
CONFIG -= qt
  • 1
  • 2

可以用空格分隔或者”\”来隔行

目标文件目录

obj文件存放的目录,可以绝对或相对路径

OBJECTS_DIR += ../tmp
  • 1

工程中包含的头文件

表示本工程中的头文件

HEADERS += \libcurl/curl/curl.h \libcurl/curl/curlbuild.h \libcurl/curl/curlrules.h \
  • 1
  • 2
  • 3
  • 4

只要qtcreator目录树里add进去了就自动添加

工程中包含的源文件

表示本工程中的源文件

SOURCES += mytest.cpp\main.cpp
  • 1
  • 2

只要qtcreator目录树里add进去了就自动添加

工程中包含的资源文件

表示本工程包含的资源文件

RESOURCES += qrc/painter.qrc
  • 1

只要qtcreator目录树里add进去了就自动添加,更改pro文件会同步更新qtcreator里的目录树,但不会影响硬盘上的资源文件

附加头文件包含目录

一般要编译链接第三方库时配置include目录 
例如

INCLUDEPATH += ./boost/include\src/thirdpart/include
  • 1
  • 2
INCLUDEPATH += D:/boost/include\E:/cocos2dx/include
  • 1
  • 2
  • 可以用绝对或相对路径
  • 相对路径中./可以省略
  • 路径中不允许出现空格

链接库

对于静态库(.lib, .a)以及动态库.so

LIBS += -LD:/codetest/libcurlcpp/libcurl/lib/-llibcurl\-LD:/codetest/libcurlcpp/libcurl/lib/-lws2_32\ -LD:/codetest/libcurlcpp/libcurl/lib/-lwldap32\ -LD:/codetest/libcurlcpp/libcurl/lib/-lopencv.so\ -LD:/codetest/libcurlcpp/libcurl/lib/-llibzmq.a
  • 1
  • 2
  • 3
  • 4
  • 5

或者

LIBS += D:/codetest/libcurlcpp/libcurl/lib/libcurl.lib\D:/codetest/libcurlcpp/libcurl/lib/ws2_32.lib\ D:/codetest/libcurlcpp/libcurl/lib/wldap32.lib D:/codetest/libcurlcpp/libcurl/lib/opencv.so\ D:/codetest/libcurlcpp/libcurl/lib/opencv.a
  • 1
  • 2
  • 3
  • 4
  • 5

或者

LIBS += $$PWD/libcurl/lib/libcurl.lib\$$PWD/libcurl/lib/ws2_32.lib\$$PWD/libcurl/lib/wldap32.lib 
  • 1
  • 2
  • 3
  • 4
  • 可以用-L指定目录,-l指定库的名称(无需后缀,.lib,.a, .so都适用)注意-l后面没有空格
  • 可以直接通过绝对路径和相对路径指定库的完整path(需后缀,.lib,.a, .so都适用),相对路径用$$pwd前缀,路径不允许空格
  • LIBS += somepath 这个可以多行写,也可以用“\”隔行

对于动态库dll,必须拷贝到exe执行目录或者在环境变量里配置路径

预编译宏

DEFINES += USE_OPENSSL\CURL_STATICLIB
  • 1
  • 2

类似于vs里面在工程里设置预编译选项

平台相关性处理

根据qmake所运行的平台来使用相应的作用域来进行处理

win32
{SOURCES += 1.cpp
}
else
{SOURCES += 2.cpp }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

根据平台进行条件编译

Qt工程pro文件的简单配置(尤其是第三方头文件和库)相关推荐

  1. Qt工程pro文件配置详解

    文章目录 1 pro文件常用配置 1.1 注释 1.2 CONFIG 1.3 DEFINES 1.4 FORMS 1.5 HEADERS 1.6 INCLUDEPATH 1.7 LIBS 1.8 QT ...

  2. Qt Creator添加第三方头文件和类库(经验篇)

    Qt Creator添加第三方头文件和类库 在Qt Creator的项目中添加头文件和库 最近的项目用到工业线阵相机,需要利用沟通相机,开发出独立的成像软件,所以才有了对于qt中添加sdk中的一些类库 ...

  3. NDK中C++标准库、STL的配置;Include其他头文件

    原文: Android学习笔记--NDK中C++标准库.STL的配置:Include其他头文件 1.STL的使用,以stlport为例 官方的说法是只需要在Application.mk文件中添加如下一 ...

  4. asp.net使用include包含文件中文乱码_C++: 编写自己的头文件

    C++的多文件结构和预编译命令入门课程,我觉得讲的很好: 学堂在线-国家精品课程在线学习平台​www.xuetangx.com 为在不同的文件中使用同一个类,类的定义就必须保持一致,为确保各个文件中类 ...

  5. Qt工程pro文件的配置和头文件和库的添加

    Qt开发中,pro文件是对正工程所有源码.编译.资源.目录等的全方位配置的唯一方式,pro文件的编写非常重要,以下对几个重要项进行说明(win和linux,mac平台通用配置) 注释 以"# ...

  6. Qt 工程 pro文件

    原文链接:https://www.cnblogs.com/Braveliu/p/5107550.html 工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的 ...

  7. 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )

    文章目录 一.报错信息 二.解决方案 1.NDK 的三个头文件路径 2.与 CPU 架构相关 asm 头文件路径选择 一.报错信息 参考 [Android 逆向]Android 进程注入工具开发 ( ...

  8. 单片机c语言怎样添加自定义头文件,单片机C语言编程与或|头文件常见问题

    一.常见问题 1.头文件reg51.h和reg52.h其实是一样的,大家两个都可以用. 2.main()前面的void可加可不加,反正都是无返回值函数. 3.不是每一个程序都要用到死循环while(1 ...

  9. C ++基础 | 格式化输出,文件输入输出(File IO),头文件(Header Files)_3

    目录 格式化输出 文件输入输出(File IO) 头文件(Header Files) 格式化输出 要格式化数据,我们可以使用转义字符串(Escape Sequence)也称字符实体(Character ...

最新文章

  1. Linux的hostname修改详解
  2. Maven依赖管理和插件配置
  3. Facebook已经过时,蜂巢新网络崛起
  4. iframe高度自适应的6个方法
  5. .net core 获取binary 文件_7.2 获取文本数据_Csv.Document
  6. BOM模型中常用对象 定义计数器 网页跳转 网页前进后退
  7. HarmonyOS 十分钟实现Hello world|和车神哥一起学
  8. 数学三次危机(二)毕达哥拉斯学派的数学思想
  9. 百度工程能力白皮书--对工程能力永无止境的追求
  10. 【Linux】三、Linux 环境基础及开发工具使用(上篇)|开发工具|编辑器-vim使用|sudo提升权限问题|编译器 - gcc/g++使用|项目自动化构建工构建工具-make/Makefile
  11. 设置PPT幻灯版自动翻页播放
  12. 在OpenCV里实现WHT变换1
  13. rman命令之crosscheck
  14. 小程序报错:[渲染层网络层错误] Failed to load local image resource /static/logo.png......
  15. windows聚焦照片_如何拍摄始终聚焦的照片
  16. matlab批量修改文件扩展名
  17. uniapp实现附有二维码的图片的本地保存
  18. Windows Server 2012 R2 官方原版镜像
  19. 百度搜索引擎中的特殊符号和搜索语句
  20. Android 华为平行视界适配(左右分屏)

热门文章

  1. kernel oops_Java中的OOPS概念– OOPS概念示例
  2. tts文字转语音_Android文字转语音(TTS)
  3. 嵌入式ctags跳转和全局打印日志
  4. 二:C#对象、集合、DataTable与Json内容互转示例;
  5. 行内元素(内联元素)与块级元素
  6. FreeBSD portsnap方法更新ports
  7. 李新海:沉默是口才运用的最高境界
  8. [C/C++标准库]_[0基础]_[优先队列priority_queue的使用]
  9. C++程序的编写和实现
  10. 关于UTF-8的处理方法心得