Objective c 错误:接口中实例变量的声明已弃用[-Werror,-Wobjc interface ivars]

Objective c 错误:接口中实例变量的声明已弃用[-Werror,-Wobjc interface ivars],objective-c,Objective C,我刚刚从github克隆了一个项目,我去构建它,一次又一次地遇到这个错误。知道问题出在哪里吗 以下是我的一些错误输出和导致错误的一些代码: 注: _indexSetFlags和_internal是本代码示例中导致错误的变量 #import <Foundation/NSObject.h> #import <Foundation/NSRange.h> NS_ASSUME_NONNULL_BEGIN @interface NSIndexSet : NSObject <

我刚刚从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;
}
#导入
#进口
NS\u假设\u非空\u开始
@接口NSIndexSet:NSObject{
@受保护//所有实例变量都是私有的
结构{
nsu整数为空:1;
NSU整数_hasSingleRange:1;
NSUInteger\u cacheValid:1;
NSUInteger\u reservedArrayBinderController:29;
}_indexSetFlags;
联合{
结构{
NSRange_范围;
}_单量程;
结构{
void*_数据;
无效*(保留);
}_多音标;
}_内部;
}
错误输出:

/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSAutoreleasePool.h:14:11: 错误:在中声明实例变量 接口已弃用[-Werror,-Wobjc接口ivars] 无效*_保留2

/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:543:9: 错误:接口中实例变量的声明无效 不推荐使用[-Werror,-Wobjc接口ivars] 整数单位; ^/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:545:9: 错误:接口中实例变量的声明无效 不推荐使用[-Werror,-Wobjc接口ivars] int_未使用; ^

/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSNotification.h:39:11: 错误:在中声明实例变量 接口已弃用[-Werror,-Wobjc接口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_menu.o lib/sdl/coa_wz_menu.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler(1个失败)

我遗漏了很多错误输出,但所有错误消息都包含“错误:接口中实例变量的声明已被弃用[-Werror,-Wobjc interface ivars]”。

正如README.md在最后一行中所建议的那样,去读吧

然后一步一步地完成要求。
它主要是用C++编写的,因此需要进行相应的处理。 您需要CMake 3.15+, 在这里找到它

也可以通过自制获取文本

以及通过自制的AscidActor

由于您显然使用OSX10.15+而不需要GCC,所以Xcode>11就可以了

您的错误会返回到虚假的项目设置。
<代码> nSixDestSET 是属于基础框架的类。在这段代码中通常没有什么需要修复的。很确定这是因为ObjuleC++被用来工作,这是一个简单的方法,将C++包含到XCODE项目中。如果要更改添加到项目中的方式,请阅读有关使用
.mm
文件的更多信息,因为

Readme.md中的行之间的某个地方也会被写入..

“运行CMake生成Xcode项目”


这似乎不是c++错误消息非常精确。如果您完全无法相应地更改代码,请删除导致此错误的编译器开关,如图所示。您可能提前一步设置项目,需要一步一步地重新开始。我已经安装了所有的工具,但是通过查看输出,我看到了一些危险信号。首先,它说找不到gettext。确切的输出是:--查找gettext--查找gettext-未找到--查找iconv--查找iconv-未找到--查找strlcat--查找strlcat-已找到。。。为什么找不到gettext?当我键入gettext--version时,我可以清楚地看到安装了0.21版。自制就像过去的明信片。在15年的编码过程中,它永远无法保持高效。每个项目都有同样的麻烦。顺便说一句,gettext是一个文本本地化(translation keeper)工具,听起来很强大,但与apple框架相比,它是一个很小的功能。我的评论对你没有帮助。但也许你会在标签下或在SO中询问一些错误日志。。