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__)
相关推荐
大侠归来41 分钟前
C 语言 | 在函数中操作数组
c语言·c++·算法
liangshanbo12151 小时前
JavaScript 面试题:Object.keys() 的返回顺序是无序的吗?
开发语言·javascript·ecmascript
朝朝辞暮i7 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
小师兄吃牛肉8 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记8 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
随意起个昵称8 小时前
【背包dp】输出方案路径
c++·动态规划
言乐69 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779139 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha9 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i9 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法