Qt包含QtCharts/QValueAxis时编译报错

Qt 5.9,windows

#include <QtCharts/QValueAxis>

包含该文件后编译报错

bash 复制代码
1>c:\qt\qt5.9.7\5.9.7\msvc2013_64\include\qtcharts\qvalueaxis.h(60): warning C4003: "min"宏的实参不足 
1>c:\qt\qt5.9.7\5.9.7\msvc2013_64\include\qtcharts\qvalueaxis.h(60): error C2059: 语法错误:"<L_TYPE_raw>" 
1>c:\qt\qt5.9.7\5.9.7\msvc2013_64\include\qtcharts\qvalueaxis.h(60): error C2334: ":"的前面有意外标记;跳过明显的函数体 
1>c:\qt\qt5.9.7\5.9.7\msvc2013_64\include\qtcharts\qvalueaxis.h(62): warning C4003: "max"宏的实参不足 
1>c:\qt\qt5.9.7\5.9.7\msvc2013_64\include\qtcharts\qvalueaxis.h(88): error C2143: 语法错误 : 缺少")"(在";"的前面) 
1>c:\qt\qt5.9.7\5.9.7\msvc2013_64\include\qtcharts\qvalueaxis.h(88): error C2059: 语法错误:")"
1>c:\qt\qt5.9.7\5.9.7\msvc2013_64\include\qtcharts\qvalueaxis.h(88): error C2238: 意外的标记位于";"之前 
cpp 复制代码
class QT_CHARTS_EXPORT QValueAxis : public QAbstractAxis
{
    Q_OBJECT
    Q_PROPERTY(int tickCount READ tickCount WRITE setTickCount NOTIFY tickCountChanged)
    Q_PROPERTY(qreal min READ min WRITE setMin NOTIFY minChanged)
    Q_PROPERTY(qreal max READ max WRITE setMax NOTIFY maxChanged)
    Q_PROPERTY(QString labelFormat READ labelFormat WRITE setLabelFormat NOTIFY labelFormatChanged)
    Q_PROPERTY(int minorTickCount READ minorTickCount WRITE setMinorTickCount NOTIFY minorTickCountChanged)

public:
    explicit QValueAxis(QObject *parent = Q_NULLPTR);
    ~QValueAxis();

protected:
    QValueAxis(QValueAxisPrivate &d, QObject *parent = Q_NULLPTR);

public:
    AxisType type() const;

    //range handling
    void setMin(qreal min);
    qreal min() const;  //此处跟全局宏冲突
    void setMax(qreal max);
    qreal max() const;  //此处跟全局宏冲突
    void setRange(qreal min, qreal max);

原因是windows定义的min和max宏污染

解决办法:项目属性-C\C+±预处理器定义-添加宏NOMINMAX

相关推荐
EXI-小洲5 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
会周易的程序员5 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
机器视觉知识推荐、就业指导6 小时前
为什么老说“纯 Qt 没啥就业市场”?
开发语言·qt
telepan6 小时前
Qt 开发避坑与性能指南:如何优雅、安全地定义全局常量字符串?
开发语言·qt
小灰灰搞电子6 小时前
完全驾驭 Qt 与数据库:C++ ORM 框架 QxOrm 原理与实践指南
数据库·c++·qt
QT界面美化性能优化6 小时前
QT+AI:使用AI技术为QT应用程序赋能
c++·人工智能·qt·opencv·qt教程·qt6.3
m0_695251496 小时前
Qt MaintenanceTool 使用国内镜像加速下载(超详细教程)
开发语言·qt
大衛說7 小时前
《Python 从入门到精通》系列总览与学习路线
开发语言·python·学习
可乐鸡翅yeah_8 小时前
hls.js 内存泄漏实战排查,直播 M3U8 长时间播放异常定位方案
开发语言·javascript·python·django·ecmascript·m3u8·m3u8在线
2601_962203518 小时前
Java进阶07集合(续)
java·开发语言