QT工程文件的条件编译选择与额外的编译参数配置

摘要:
QTCreator打开pro项目文件后,根据不同的构建工具包创建项目组。当需要向项目文件中添加其他编译参数时,需要在“相关编译选项附加到pro文件”中添加其他的编译参数。对于cpp文件,使用QMAKE_CXXFLAGS;对于c文件,使用QMSAKE_CFLAGS

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工程文件的条件编译选择与额外的编译参数配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux清理内存命令无法载入DLL 'sqlceme35.dll':找不到指定的模组。 ( 发生例外狀況於HRESULT: 0x8007007E )下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介

作者 : 韩曙亮 转载请出名出处 : http://blog.csdn.net/shulianghan/article/details/38636827 一. Linux 内核简介  1. 内核功能简介 (1) 操作系统 和 内核 简介 操作系统 :  -- 功能 : 完成基本功能 和 系统管理; -- 组成 : 内核(kernel), 设备...

BZOJ 1295 最长距离(最短路)

考虑到矩阵尺寸的关系,可以枚举起点和终点,并且判断是否可行即可。 判断起点和终点是否可以通过挖空至多T个障碍联通。实际上就是求起点到终点的最短路。 所以我们先建好图,然后求以每个方格为起始点的最短路,复杂度O(n*m^2*logm). 枚举起点和终点更新答案的复杂度是O(n^2*m^2). 总复杂度就是(nm(nm+mlogm)). # include...

IDEA Gradle配置与使用

1.安装Gradle,并添加环境变量。https://www.cnblogs.com/NyanKoSenSei/p/11458953.html 2.在IDEA中设置Gradle: 3.选中项目中的.gradle文件,右键选择"Import Gradle Project"。 4.接下来会弹出一个界面,Import Module From Gradle。 us...

Opencv 图片边缘检测和最小外接矩形

1 #include "core/core.hpp" 2 #include "highgui/highgui.hpp" 3 #include "imgproc/imgproc.hpp" 4 #include "iostream" 5 #include "cmath" 6 using namespacestd; 7 using namespacecv; 8...

Linux路径名和文件名最大长度限制

UNIX标准对路径名和文件名最大长度限制做出了说明,但其上限值在实际应用长过小,Linux在具体实现时提升了该上限,该限制在Linux的 /usr/include/linux/limits.h 中做出了说明,具体如下: 1 #ifndef _LINUX_LIMITS_H 2 #define _LINUX_LIMITS_H 3 4 #define...

如何用c语言调用c++做成的动态链接库

今天在做东西的时候遇到一个问题,就是如何在C语言中调用C++做的动态链接库so文件如果你有一个c++做的动态链接库.so文件,而你只有一些相关类的声明, 那么你如何用c调用呢,别着急,本文通过一个小小的例子,让你能够很爽的搞定.   链接库头文件:head.h class A { public: A();...