@protocol(WCTColumnCoding)
Closed this issue · 9 comments
源码在原版编译器下可正常编译
在Hikari release_80环境下出现错误
受影响源码
WCTRuntimeObjCAccessor::WCTRuntimeObjCAccessor(Class instanceClass, const std::string &propertyName)
: WCTRuntimeAccessor(instanceClass, propertyName)
, WCTObjCAccessor(generateValueGetter(instanceClass, propertyName), generateValueSetter(instanceClass, propertyName))
, m_columnType(GetColumnType(instanceClass, propertyName))
{
Class propertyClass = GetPropertyClass(instanceClass, propertyName);
if (![propertyClass conformsToProtocol:@protocol(WCTColumnCoding)]) {//<-----this line
WCDB::Error::Abort([NSString stringWithFormat:@"Class %@ should conforms to protocol WCTColumnCoding", NSStringFromClass(propertyClass)].UTF8String);
}
}
提示错误
.../Pods/WCDB/apple/WCDB/interface/orm/accessor/WCTRuntimeObjCAccessor.mm:36:45: @protocol is using a forward protocol declaration of 'WCTColumnCoding'
.../Pods/WCDB/apple/WCDB/interface/declare/WCTDeclare.h:68:11: 'WCTColumnCoding' declared here
@protocol WCTColumnCoding;
使用的混淆参数列表:
未使用,仅适用Hikari编译,未加参数,未使用swift代码
该错误是否是llvm新版本的特性导致呢?
看起来是的,有完整报错吗
嗯看了下应该是新特性,用Noctilucence或者NatsukoiHanabi 绕过吧,两个解决方案都有各自的缺陷,注意看文档
或者自己编译一份release_60
好的,我先编译一份release_60版本试下,同时试下NatsukoiHanabi这个方式。
另:要改正这个问题是否需要用新llvm代码加入pass重新编译Hikari呢
不用,所有的分支现在走的都是同一套核心
Closing due to inactivity
NatsukoiHanabi这个方式怎么修改啊