clang完成交叉编译代码的问题(类型的大小不同)

时间:2014-11-03 11:17:07

标签: vim cross-platform clang sizeof powerpc

我在vim中遇到了 clang complete 插件的问题。开发系统是Linux / i86_64,但代码库适用于PowerPC / 32。问题是clang和交叉编译器不同意类型的大小。在PowerPC上,sizeof long为4,而在i86_64上为8。

这导致编译时断言失败,检查某个结构的大小。因此,clang完成只说-- User defined comletion (^U^N^P)而没有做任何其他事情。如果我删除了编译时断言,一切正常。

有没有办法教clang它不检查本机代码,而是交叉编译的代码,其中类型的大小不同?即我可以告诉clang它应该假设intlong这样的原生类型的大小吗?

1 个答案:

答案 0 :(得分:0)

令我惊讶的是,即使i86_64 clang支持选项

 -target powerpc

类型的大小具有正确的类型。我已经将这一行添加到我的.clang_complete并且它就可以了。