2

在 Photoshop CS2 SDK 文件 SPConfig.h 中,以下代码出错。显然我需要定义__ MWERKS __。编译器是 LLVM GCC 4.2,SDK 是 OS X 10.7。

#ifdef __MWERKS__
#if !defined(__INTEL__) /* mjf was- #if defined(__MC68K__) || defined(__POWERPC__) */
#ifndef MAC_ENV
#define MAC_ENV 1
#endif
#endif
#endif

#if !defined(WIN_ENV) && !defined(MAC_ENV)
#error
#endif

在文件 cdefs.h 中:

#if defined(__MWERKS__) && (__MWERKS__ > 0x2400)

我想知道如何找到它定义的位置。或者我可以给它定义一个数字吗?

4

1 回答 1

1

这些宏由编译器本身定义,以指示它是哪个编译器(因此您可以编写特定于编译器的东西)。

__MWERKS__由 Metrowerks CodeWarrior 使用,它于 2005 年停产,所以现在稍微过时了。
您不应该自己定义它 - 除非您使用 CodeWarrior 进行编译,否则应该跳过这些部分,否则程序很可能会以不可预知的方式中断。

您的实际问题是您的编译器和 SDK 组合未被识别为 Macintosh 环境。

必须有其他地方定义MAC_ENV.
(我很难相信 CS2 SDK 不支持 Apple 自己的编译器。)
你应该去搜索所有出现的MAC_ENV.

您确定支持您使用的 SDK 和编译器的组合吗?
CS2 SDK 太旧了,可能还没有,所以你也应该仔细阅读文档。

于 2013-10-25T08:30:00.043 回答