这是我所做的:
我更改了一个 .h 文件
SomeObj* getCacheObj( int i = 0 );
到
SomeObj* getCacheObj( int i );
SomeObj* getCacheObj();
我重新编译了代码(没有问题),更改到 somelib.so(许多so 文件之一)。然后我用这个替换了设备上的旧so,加载so时出现以下错误:
undefined symbol: _ZN13KeypathHelper11getCacheObjEv
现在奇怪的是,有人告诉我这个类只在这个so文件中使用(我怎样才能确定?)。我没有那么有经验,也不知道如何调查。欢迎任何建议。
更新
这个特殊问题是因为另一个so文件正在使用KeypathHelper类而我只替换了包含它的那个。我发现哪些其他需要更新的方法是对 KeypathHelper 进行 grep。