我正在将项目链接到库。根据库的版本,某些API和typedef是不同的。
无法提取库版本。我希望在编译时确定该库的版本并定义相应的预处理器变量。
更准确地说,我想要一些如下内容
#ifdef size_type
#define LIBRARY_VERSION 1.0
#else
#define LIBRARY_VERSION 2.0
#endif
问题是size_type不是宏,而是使用typedef定义的类型。 我该怎么办?
答案 0 :(得分:3)
在定义typedef的位置使用附带的宏。
typedef size_t size_type ;
#define size_type_defined
#ifdef size_type_defined
#define LIBRARY_VERSION 1.0
#else
...
您需要写一个额外的行,但只需要写一次。