QTCreator打开.pro工程文件后,依据不同的构建套件创建项目组。在项目组中,点开构建步骤的“详情”,增加一个自己的宏定义,比如:

DEFINES+=IMX_287

然后,我们在.pro文件中添加:

contains(DEFINES,IMX_287){
# contains 'Embedded Linux'
message( "Configuring for Embedded Linux CLIENT build..." )
INCLUDEPATH += /opt/netconfig-imx287/include /usr/local/include /usr/lib/perl/5.18/CORE
LIBS += -L/opt/netconfig-imx287/lib -ldl -Wl,-E -lm
QMAKE_CFLAGS += -fno-strict-aliasing -pipe -Os -Ulinux \
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux=linux
# QMAKE_CFLAGS += -Wno-unused-parameter -Wunused-variable
# QMAKE_CXXFLAGS += -Wno-unused-parameter -Wunused-variable
} else {
# contains 'Desktop Linux'
INCLUDEPATH += /opt/netconfig-pc/include /usr/local/include /usr/lib/perl/5.18/CORE
LIBS += -L/opt/netconfig-pc/lib -ldl -Wl,-E -lm
QMAKE_CFLAGS += -fno-strict-aliasing -g -O2 -Ulinux -fstack-protector -fno-strict-aliasing -pipe \
-Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
# QMAKE_CFLAGS += -Wno-unused-parameter -Wunused-variable
# QMAKE_CXXFLAGS += -Wno-unused-parameter -Wunused-variable
}

如此一来,在我们选择相应的项目配置时,qmake就会根据我们自定义的DEFINE来配置编译选项。

在需要对工程文件添加额外的编译参数时,需要在.pro文件中追加相关的编译选项,对于cpp文件,要使用QMAKE_CXXFLAGS,对于c文件,要使用QMAKE_CFLAGS。

转自https://blog.csdn.net/chinley/article/details/48997651

QT工程文件的条件编译选择与额外的编译参数配置的更多相关文章

  1. Qt工程文件说明

    Qt工程文件说明 2017-10-16  天天快乐6...  转自 LZS2851 修改   微信 分享: 这篇文章是我从360doc上转的,本来是要把转的url列出来的,但是它们居然禁掉了复制,而且 ...

  2. Qt工程文件Pro介绍(转)

    转载请注明:http://blog.163.com/hu_cuit/blog/static/122849143201127104232142/ 我也才开始学习QT的菜鸟.但是前几天有同学叫我给他讲一下 ...

  3. Qt 工程文件(.pro)

    qmake –project 这个命令是用来生成QT的工程文件(.pro)的,这个文件是用来设置编译或者链接的变量,以便用qmake生成相对应的Makefile文件 TEMPLATE:这个变量是用来定 ...

  4. QT .pro文件 LIBS用法详解

    在程序中需要使用到团队其它成员开发的静态库和动态库,起初是知道使用LIBS变量在在.pro文件中指定需要包含的库,但是实际使用的时候却遇到很大麻烦,但其实确实是因为自己看官方文档不太用心造成的. 下面 ...

  5. Visual Studio 2010 C++ 工程文件解读

    在 VS2010 中,C++ 的工程文件已经和 2005 / 2008 有了很大的不同,而是完全采用 MSBUILD 的属性方式进行表达,并且可以让用户通过一次性的配置而对所有的属性进行自定义: 根据 ...

  6. Qt 工程 pro文件

    工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的理解,先创建一个简单的工程作为实践. [1]创建一个pro文件 1.1 新建proDemo工程.步骤如下: ...

  7. QT工程构建目录下,将生成的中间文件和可执行文件分离

    在QT工程中,当我们选择了构建目录后,编译生成程序后,总会发现在debug目录下会有混淆着各类文件,如下图 很多时候,我们又仅仅只需要可执行文件或者自定义的动态链接库.如下图 当然,如果不觉得麻烦,有 ...

  8. 用 cmake 构建Qt工程(对比qmake进行学习)

    cmake vs qmake qmake 是为 Qt 量身打造的,使用起来非常方便 cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能 内置的 out-of source 构建.(目前 ...

  9. Qt工程打包发布

    Qt版本 5.7.1 1.添加环境变量 在..\Qt5.7.0\5.7\msvc2013_64\bin(..省略了盘符,例如我的是D:\Qt\Qt5.7.0\5.7\msvc2013_64\bin) ...

随机推荐

  1. CRM项目(一)

    知识点: 1. 类可以当做字典的key 2. django中的model所在app名称.以及小写类名. 上述两点可以由以下代码实现: def index(request): # print(m1.Us ...

  2. 潭州课堂25班:Ph201805201 django 项目 第二十三课 文章主页 轮播图前端实现 热门新闻推荐实现 详情页实现 (课堂笔记)

    前台代码 // 在static/js/news/index.js文件中 $(function () { // 新闻列表功能 let $newsLi = $(".news-nav ul li& ...

  3. MySQL(六)

    自关联 设计省信息的表结构provinces id ptitle 设计市信息的表结构citys id ctitle proid citys表的proid表示城市所属的省,对应着provinces表的i ...

  4. Html表格:

    (1)<table>标签:声明一个表格,它的常用属性如下: -- border属性 定义表格的边框,设置值是数值 -- cellpadding属性 定义单元格内容与边框的距离,设置值是数值 ...

  5. Ruby零碎笔记

    Ruby零碎笔记 飞机上阅读pdf的笔记,因为不联网,内容不多而且比较零散,以tips的形式记录 tips 查看当前作用域的变量 puts local_variables ruby中方法传递参数时,括 ...

  6. 增加tomcat的运行速度

    1.增加tomcat的运行速度

  7. H5C303

    H5C303 1.CSS3 一些js功能可以通过css3实现. 坚持渐进增强原则. 另一侧:优雅降级hack 3.选择器 1)属性选择器:根据指定名称的属性来查找元素 E是元素 li[style]{ ...

  8. 安装istio v1.0 详细过程和步骤

      创建 istio 目录 [root@centos-110 ~]# mkdir istio [root@centos-110 ~]# cd istio   方案一: # 去下面的地址下载压缩包  # ...

  9. C# ManualResetEventSlim 实现

    ManualResetEventSlim通过封装 ManualResetEvent提供了自旋等待和内核等待的组合.如果需要跨进程或者跨AppDomain的同步,那么就必须使用ManualResetEv ...

  10. 使用Canvas制作画图工具

      前  言 JRedu canvas是HTML5中重要的元素之一,canvas元素使用JavaScript在网页上绘制图像,画布是一个矩形区域,我们可以控制其每一个元素,并且canvas拥有多种的绘 ...