c++ - 使用 SDK,他们的头文件使用不命名类型的 typedef

标签 c++ eclipse byte typedef

我正在为指纹扫描仪使用 SDK,并且我已将它们的所有头文件添加到我的项目中。在头文件中,他们使用了大量似乎不起作用的 typedef。我正在使用 Eclipse,想知道这是否是问题所在。

例如:

#ifdef WIN32
typedef __int8    SecuAPI_SINT8;
typedef __int16   SecuAPI_SINT16;
typedef int       SecuAPI_SINT32;
typedef __int64   SecuAPI_SINT64;

typedef BYTE    SecuAPI_UINT8    ;
typedef WORD    SecuAPI_UINT16   ;
typedef DWORD     SecuAPI_UINT32;   

BYTE、WORD、DWORD 抛出未命名类型的错误。

其他好像都还好。我尝试添加 winDef.h 和 windows.h header ,但似乎没有用。

再往下看代码

typedef BOOL      SecuAPI_BOOL;
typedef CHAR      SecuAPI_CHAR;
typedef LPSTR     SecuAPI_CHAR_PTR;    

同样报错。

其他 typdef,如 char、short、int 等似乎可以工作。

编辑: 我是 C 的新手,所以我不知道为什么,但我将它们的头文件复制并粘贴到新的头文件中(因为它不允许我编辑它们)和 BOOL, BYTE, WORD类型现在可以了,但是 __int8, __int16, etc.没用。我添加了 <stdint.h>现在一切正常。

谢谢大家!

最佳答案

BOOLCHARLPSTR 和类似的全大写类型(通常)是 Microsoft-defined types .文档说明了需要哪些 header 才能获得正确的定义。

关于c++ - 使用 SDK,他们的头文件使用不命名类型的 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28076700/

相关文章:

c++ - 如何在 Eclipse Indigo CDT C++ 中设置 libxml

java - 如何使用m2e创建一个简单的maven项目

objective-c - 如何从文件中截断 x 字节

java - 使用 Java 扫描病毒签名

c++ - 如果给定的模板不是专门用于运算符参数类型,则禁用运算符重载

c++ - 矩形的最远点

eclipse - eclipse dropins 文件夹在哪里

java - C# 到 Java 字节转换

c++ - 如何正确包装第 3 方库结构?

c++ - 查找动态分配数组的元素数