C++检查是否定义了类型定义

C++ check if typedef if defined

本文关键字:定义 类型 是否 检查 C++      更新时间:2023-10-16

我正在将项目链接到库。根据库的版本,某些 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
...

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