解决macOS ARM下vim插件YouCompleteMe编译失败问题

问题

前天做系统迁移,将x86架构的机器迁移到了arm架构的机器上,发现vim的YouCompleteMe出现了问题,不能正常使用。按照正常套路,需要进行一次重新编译才行。但是在重新编译时,报了以下错误

这该怎么办呢?

解决

一开始我还想着一看python3不行,我们换成python2呗。看了下,ARM原生的brew安装的vim,只带了python3的依赖。如果不想自己重新编译vim,那就得解决这个问题。

要不就看看这个代码啥问题吧。

其实这个报错信息已经很清楚了,一个const char *右值不能直接在当作void *返回值返回的时候,报了错。我相信这个代码是不规范的,但应当是XCode 13更新了clang之后,错误检查更严格了,才报这个问题。

于是进行了如下修改,打开对应的源文件,定位到报错的第51行,将代码改成如下样子,强制转换待赋值类型到void *

显式进行一下类型转换。接着重新编译,过了!

问题解决。

发表评论

为防机器,验证码请直接输入4个数字1

*