C++ `不使用10.4u SDK命名类型“help,10.6.8”

C++ `不使用10.4u SDK命名类型“help,10.6.8”,c++,macos,types,compiler-errors,adobe,C++,Macos,Types,Compiler Errors,Adobe,我有一个自己工作的XCode项目。我正在尝试将它所做的整合到一个新项目中,该项目包含了我们的其他产品。我遇到了如下错误: 'uint8' does not name a type 'uint16' does not name a type 'uint32' does not name a type 但我不知道为什么。它被用作: typedef uint8 SPUInt8; typedef uint16 SPUInt16; typedef uint32 SPUInt32; 我找不到哪里不对

我有一个自己工作的XCode项目。我正在尝试将它所做的整合到一个新项目中,该项目包含了我们的其他产品。我遇到了如下错误:

'uint8' does not name a type

'uint16' does not name a type

'uint32' does not name a type
但我不知道为什么。它被用作:

typedef uint8 SPUInt8;
typedef uint16 SPUInt16;
typedef uint32 SPUInt32;
我找不到哪里不对。我使用的标题和源代码与原始项目相同。我已经检查了构建设置,以确保它们匹配

我想它可能是SDL.h,但OSX上不存在。我也尝试过包括

#include <stdlib.h>
#include <sys/types.h>
#包括
#包括
在新项目中,但旧项目不包括它们


这是一个使用Adobe SDK的CS5 64位photoshop插件。

这些类型是在OpenCL框架(特别是在/System/Library/Frameworks/OpenCL.framework/Versions/a/Resources/cl_kernel.h)和安全框架(特别是在/System/Library/Frameworks/Security.framework/Versions/a/Headers/cssmconfig.h)中定义的。我不知道为什么它们会出现在这些特定的框架中

将此行添加到源文件将定义以下类型:

#include <Security/Security.h>
#包括

您的源代码是否使用了安全框架中的API?或者OpenCL?

为什么不使用标准类型
uint8\u t
uint16\u t
等?@特洛伊木马:问题是现有代码正在集成到新项目中。因此,提出问题的人之所以使用这些类型,是因为代码中包含这些类型。您可能会问为什么最初使用它们,但该代码的作者无法直接获得。@EricPostChil或更简单的是,将所有非标准类型全局更改为标准类型……不,我们不使用这两种框架。这是一个基于Adobe SDK的项目