C ++检查是否定义了typedef

时间:2014-11-14 22:46:10

标签: c++ compilation typedef preprocessor-directive

我正在将项目链接到库。根据库的版本,某些API和typedef是不同的。

无法提取库版本。我希望在编译时确定该库的版本并定义相应的预处理器变量。

更准确地说,我想要一些如下内容

#ifdef size_type
#define LIBRARY_VERSION 1.0
#else
#define LIBRARY_VERSION 2.0
#endif

问题是size_type不是宏,而是使用typedef定义的类型。 我该怎么办?

1 个答案:

答案 0 :(得分:3)

在定义typedef的位置使用附带的宏。

typedef size_t size_type ;
#define size_type_defined

#ifdef size_type_defined
#define LIBRARY_VERSION 1.0
#else
...

您需要写一个额外的行,但只需要写一次。