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__)
相关推荐
汉克老师10 小时前
GESP2026年3月认证C++七级( 第三部分编程题(1、物流网络))精讲
c++·最短路·gesp7级
鱼子星_10 小时前
【C++】深入剖析list:list及其双向迭代器实现
开发语言·数据结构·c++·笔记·stl·list
脚踏实地皮皮晨10 小时前
003002004_WPF Panel 基类 官方类定义
开发语言·windows·算法·c#·wpf·visual studio
520拼好饭被践踏10 小时前
JAVA+Agent学习day25
java·开发语言·学习
大黄说说10 小时前
Java 并发大坑:volatile、synchronized、Lock 三者如何选择?
java·开发语言
魏码不凡11 小时前
CURL报错:未找到SSL证书文件问题
开发语言·php·ssl
tudousisi22211 小时前
P4667 [BalticOI 2011] Switch the Lamp On复盘
c++
geovindu11 小时前
go:loghelper
开发语言·后端·golang
听雨入夜11 小时前
zero.zhang
开发语言·python
江屿风11 小时前
【C++笔记】【二叉搜索树】流食般投喂
开发语言·数据结构·c++·笔记