我在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它应该假设int
和long
这样的原生类型的大小吗?
答案 0 :(得分:0)
令我惊讶的是,即使i86_64 clang支持选项
-target powerpc
类型的大小具有正确的类型。我已经将这一行添加到我的.clang_complete
并且它就可以了。