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")
相关推荐
yezipi耶不耶1 分钟前
Rust入门之高级Trait
开发语言·后端·rust
朱剑君3 分钟前
第十天——贪心算法——深度总结
算法·贪心算法
双叶83613 分钟前
(C语言)超市管理系统 (正式版)(指针)(数据结构)(清屏操作)(文件读写)
c语言·开发语言·数据结构·c++·windows
为美好的生活献上中指20 分钟前
java每日精进 5.14【参数校验】
java·开发语言·spring boot·tomcat
末央&38 分钟前
【数据结构】手撕AVL树(万字详解)
数据结构·c++
序属秋秋秋39 分钟前
《数据结构初阶》【二叉树 精选9道OJ练习】
c语言·数据结构·c++·算法·leetcode
后青春期的诗go41 分钟前
基于Rust语言的Rocket框架和Sqlx库开发WebAPI项目记录(一)
开发语言·后端·rust
Tiny番茄41 分钟前
LeetCode 235. 二叉搜索树的最近公共祖先 LeetCode 701.二叉搜索树中的插入操作 LeetCode 450.删除二叉搜索树中的节点
数据结构·算法·leetcode
景天科技苑2 小时前
【Rust闭包】rust语言闭包函数原理用法汇总与应用实战
开发语言·后端·rust·闭包·闭包函数·rust闭包·rust闭包用法
uyeonashi3 小时前
【Boost搜索引擎】构建Boost站内搜索引擎实践
开发语言·c++·搜索引擎