C++ C++;检查是否定义了typedef

C++ C++;检查是否定义了typedef,c++,compilation,typedef,preprocessor-directive,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定义的类型。 如何操作?在定义typedef的位置使用附带的宏 typedef size

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

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

更准确地说,我想做如下事情

#ifdef size_type
#define LIBRARY_VERSION 1.0
#else
#define LIBRARY_VERSION 2.0
#endif
问题在于size_type不是宏,而是使用typedef定义的类型。
如何操作?

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

typedef size_t size_type ;
#define size_type_defined

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

您将需要再写一行,但只写一次。

如果您希望size\U type是什么类型的变量?typedef在库中定义,我无法修改库代码。因此,我需要项目中的所有检查代码。@marcagnese Lib必须(应该)定义一些宏来确定它的版本。用那个。