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__)
相关推荐
咸鱼2.01 小时前
【java入门到放弃】Dubbo
java·开发语言·dubbo
JAVA面经实录9177 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
王老师青少年编程8 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
周杰伦fans8 小时前
AutoCAD .NET 二次开发:深入理解 EntityJig 的工作原理与正确实现
开发语言·.net
叼烟扛炮8 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
样例过了就是过了10 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
Bat U10 小时前
JavaEE|多线程初阶(七)
java·开发语言
谭欣辰10 小时前
C++ 排列组合完整指南
开发语言·c++·算法
橙子也要努力变强11 小时前
信号捕捉底层机制-机理篇2
linux·服务器·c++