无法为未定义 class 定义类别
Cannot define category for undefined class
我目前正在尝试在 XCode 8 中编译 chromium,现在正在 Mac 特定部分。不幸的是,对于这个 header: https://chromium.googlesource.com/chromium/src.git/+/52.0.2743.82/base/mac/sdk_forward_declarations.h,我得到一个编译器错误,因为对于多个 类,这个文件只包含一个前向声明,然后是一个类别定义。例如搜索 "CBPeripheral".
我可以在另一个项目中重现这个问题,只需将其添加到 obj-c header 文件中即可:
@class Test;
@interface Test (Blah) {
}
@end
我不明白 chromium header 是如何编译的,但显然可以。那么,我在这里缺少什么?
实际上,这是 XCode 的新 "feature" 8. 代码在 XCode 中编译良好 7.
iMac:src $vi base/mac/sdk_forward_declarations.h
在下面添加这两行进行编译:
#import <CoreBluetooth/CBPeripheral.h>
#import <CoreBluetooth/CBUUID.h>
我目前正在尝试在 XCode 8 中编译 chromium,现在正在 Mac 特定部分。不幸的是,对于这个 header: https://chromium.googlesource.com/chromium/src.git/+/52.0.2743.82/base/mac/sdk_forward_declarations.h,我得到一个编译器错误,因为对于多个 类,这个文件只包含一个前向声明,然后是一个类别定义。例如搜索 "CBPeripheral".
我可以在另一个项目中重现这个问题,只需将其添加到 obj-c header 文件中即可:
@class Test;
@interface Test (Blah) {
}
@end
我不明白 chromium header 是如何编译的,但显然可以。那么,我在这里缺少什么?
实际上,这是 XCode 的新 "feature" 8. 代码在 XCode 中编译良好 7.
iMac:src $vi base/mac/sdk_forward_declarations.h
在下面添加这两行进行编译:
#import <CoreBluetooth/CBPeripheral.h>
#import <CoreBluetooth/CBUUID.h>