C ++检查是不是定义了typedef [重复]
Posted
技术标签:
【中文标题】C ++检查是不是定义了typedef [重复]【英文标题】:C++ check if typedef if defined [duplicate]C ++检查是否定义了typedef [重复] 【发布时间】:2014-11-14 22:46:09 【问题描述】:我正在将一个项目链接到一个库。根据库的版本,一些 API 和 typedef 是不同的。
没有办法提取库版本。我想在编译时确定这个库的版本并定义一个相应的预处理器变量。
更准确地说,我想要以下内容
#ifdef size_type
#define LIBRARY_VERSION 1.0
#else
#define LIBRARY_VERSION 2.0
#endif
问题在于 size_type 不是宏,而是使用 typedef 定义的类型。 我该怎么做?
【问题讨论】:
如果变量你希望 size_type 是什么类型的? 【参考方案1】:在定义 typedef 的位置使用附带的宏。
typedef size_t size_type ;
#define size_type_defined
#ifdef size_type_defined
#define LIBRARY_VERSION 1.0
#else
...
你需要多写一行,但只需要写一次。
【讨论】:
typedef 是在库内部定义的,我无法修改库代码。因此,我需要项目中的所有检查代码。 @MarcoAgnese Lib 必须(应该)定义一些宏来说明它是什么版本。使用它。以上是关于C ++检查是不是定义了typedef [重复]的主要内容,如果未能解决你的问题,请参考以下文章