gpt4 book ai didi

c++ - __OBJC__ 等效于 Objective-C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:01:29 25 4
gpt4 key购买 nike

我正在为 iPhone 应用程序编译 .mm 文件 (Objective-C++),但预编译的 header 无法包含基类。

我追踪到以下内容:

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif

事实证明,__OBJC__ 对于 mm 文件是未定义的,而它是为标准 m 文件定义的。

我可以使用其他标志吗?

最佳答案

如果您使用 -dM -E 调用 gcc,它将在预处理后停止,并列出所有 #defines 。这通常是我检查内置定义的方式;但是我只是用测试 .mm 文件尝试了这个,__OBJC__ 是为我定义的,所以我不确定为什么它没有为你定义。

$ echo "int foo() {};" > tmp.mm
$ gcc -dM -E tmp.mm|grep OBJ
#define __OBJC__ 1
#define OBJC_NEW_PROPERTIES 1

关于c++ - __OBJC__ 等效于 Objective-C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1144990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com