cmake如何在编译时区分-std=c++17和-std=gnu++17?检查宏

如何在编译时区分-std=c++17和-std=gnu++17?检查宏?-腾讯云开发者社区-腾讯云

我正在使用__int128扩展的g++。-std=c++17的问题是,一些C++库不具备对该扩展的全部支持(即std::make_unsigned<>失败)。当使用-std=gnu++17时,它工作得很好。

我添加了一个头文件,允许<limit>在使用-std=c++17时与__int128一起工作,我希望暂时保留它,但是在使用-std=gnu++17时它会中断(因为它已经定义好了)。所以我想增加一个这样的条件:

复制代码
# -std=gnu++17 
set(CMAKE_CXX_STANDARD 17)
或者
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
相关推荐
qq_417695051 天前
C++中的解释器模式
开发语言·c++·算法
y = xⁿ1 天前
【LeetCodehot100】T108:将有序数组转换为二叉搜索树 T98:验证搜索二叉树
数据结构·算法·leetcode
pingan87871 天前
试试 docx.js 一键生成 Word 文档,效果很不错
开发语言·前端·javascript·ecmascript·word
程序员小崔日记1 天前
一道KMP统考真题彻底讲透:nextval与滑动距离的本质
算法·408·王道计算机考研
xiaoye-duck1 天前
《算法题讲解指南:动态规划算法--路径问题》--9.最小路径和,10.地下城游戏
c++·算法·动态规划
big_rabbit05021 天前
java面试题整理
java·开发语言
渡过晚枫1 天前
[第十四届蓝桥杯/java/算法]国赛A——跑步计划
算法
hanlin031 天前
刷题笔记:力扣第17题-电话号码的字母组合
笔记·算法·leetcode
刺客xs1 天前
c++模板
java·开发语言·c++
weixin_537590451 天前
《C程序设计语言》练习答案(练习1-5)
c语言·开发语言