c++编译第三方项目报错# pragma warning( disable: 4273)

因为我是使用mingw在windows平台上编译的,而在代码里是这样的:

cpp 复制代码
#if defined(_WIN32)

就是因为mingw无法使用msvc的progma语句导致的,我在项目中搜也没有找到定义该宏的地方,于是上网去搜,才发现这是一个平台的宏,而非编译器宏。

正确的答案是这样的:

cpp 复制代码
#if defined(_MSC_VER)

使用msvc的宏来判断,这样更精确一些,代表的是编译器。

而mingw的编译器宏应该是

cpp 复制代码
#elif defined(__GNUC__)
相关推荐
wangqiaowq1 小时前
StarRocks安装部署测试
java·开发语言
缺点内向5 小时前
C#: 高效移动与删除Excel工作表
开发语言·c#·.net·excel
老前端的功夫5 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
ᐇ9596 小时前
Java HashMap深度解析:数据结构、原理与实战指南
java·开发语言·数据结构
QT 小鲜肉7 小时前
【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
linux·开发语言·笔记·单片机·压力测试
程序员龙一7 小时前
C++之static_cast关键字
开发语言·c++·static_cast
yue0087 小时前
C# 分部类读取学生信息
开发语言·c#
奶茶树7 小时前
【C++/STL】map和multimap的使用
开发语言·c++·stl
聪明努力的积极向上7 小时前
【C#】事件简单解析
开发语言·c#