2014-11-03 5 views
0

Я столкнулся с проблемой, связанной с clang complete плагин в vim. Системой разработки является Linux/i86_64, но кодовая база для PowerPC/32. Проблема в том, что clang и кросс-компилятор не согласны с размерами типов. В PowerPC sizeof long равно 4, а на i86_64 - 8.clang полная версия для кросс-скомпилированного кода (размеры типов разные)

Это приводит к сбою во время компиляции-времени, который проверяет размер определенной структуры. Как следствие, clang complete только говорит -- User defined comletion (^U^N^P) и ничего не делает. Если я удалю команду compile-time-assert, все будет хорошо.

Есть ли способ научить clang, что он не проверяет собственный код, а перекрестно скомпилированный код, где размеры типов различны? То есть могу ли я сказать clang, что он должен принять за размер родных типов, таких как int и long?

ответ

0

К моему удивлению, даже i86_64 лязг поддерживает опцию

-target powerpc 

, для которых размеры типов имеют правильный тип. Я добавил эту строку к моему .clang_complete, и он сделал трюк.

 Смежные вопросы

  • Нет связанных вопросов^_^