Я пытаюсь написать Vapi-файл для MessagePack, и у меня есть пара проблем, первая поскольку полученный msgpack_object_print
неверен из-за ссылочного типа одного из параметров. Заголовочный файл ожидает
void msgpack_object_print(FILE* out, msgpack_object o);
и мой файл Vapi содержит
[CCode (instance_pos = 1.1)]
public void print (Posix.FILE out);
который генерирует вывод C
msgpack_object_print (_tmp13_, &obj);
где obj
— это тип msgpack_object *
. Это создает ошибку
examples/simple.c:173:34: error: incompatible type for argument 2 of ‘msgpack_object_print’
и он исчезнет, если я удалю &
из сгенерированного C. Итак, мне интересно, что должен содержать мой Vapi, чтобы получить правильный результат?