【发布时间】:2020-11-11 06:30:45
【问题描述】:
我刚刚从 github 克隆了一个项目,然后我去构建它,我一遍又一遍地遇到这个错误。知道问题出在哪里吗?
这是我的一些错误输出和一些导致错误的代码:
注意: _indexSetFlags 和 _internal 是导致此代码示例中的错误的变量
#import <Foundation/NSObject.h>
#import <Foundation/NSRange.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSIndexSet : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> {
@protected // all instance variables are private
struct {
NSUInteger _isEmpty:1;
NSUInteger _hasSingleRange:1;
NSUInteger _cacheValid:1;
NSUInteger _reservedArrayBinderController:29;
} _indexSetFlags;
union {
struct {
NSRange _range;
} _singleRange;
struct {
void * _data;
void *_reserved;
} _multipleRanges;
} _internal;
}
错误输出:
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSAutoreleasePool.h:14:11: 错误:在 接口已弃用 [-Werror,-Wobjc-interface-ivars] 无效 *_reserved2;
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:543:9: 错误:接口中实例变量的声明是 已弃用 [-Werror,-Wobjc-interface-ivars] 整数字节; ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:545:9: 错误:接口中实例变量的声明是 已弃用 [-Werror,-Wobjc-interface-ivars] 诠释_未使用; ^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSNotification.h:39:11: 错误:在 接口已弃用 [-Werror,-Wobjc-interface-ivars] 无效 *_impl; ^
致命错误:发出的错误太多,现在停止 [-ferror-limit=] 20 产生的错误。
以下构建命令失败:CompileC /Users/bananaman123/Desktop/eecs481/hw6/wz_build/lib/sdl/warzone2100.build/Debug/sdl-backend.build/Objects-normal/x86_64/cocoa_wz_menus.o lib/sdl/cocoa_wz_menus.mm 正常 x86_64 Objective-C++ com.apple.compilers.llvm.clang.1_0.compiler(1次失败)
我遗漏了很多错误输出,但所有错误消息都包含“错误:接口中的实例变量声明已弃用 [-Werror,-Wobjc-interface-ivars]”
【问题讨论】:
-
这似乎不是 c++
-
错误信息非常准确。如果您绝对不能相应地更改代码,请删除导致此错误的编译器开关,如图所示。
-
你可能是一个项目设置领先一步,需要一步一步重新开始。看我的回答
标签: objective-c