Может ли avrogen cpp создать отдельный файл заголовка для каждого типа в схеме? - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть два типа «Компания» и «Пользователь», включая общий тип «Адрес», и я пытаюсь сгенерировать заголовочные файлы cpp. Я пробовал несколько способов, но в конечном итоге структура «Address» была многократно определена в двух разных заголовочных файлах. Может ли avrogen cpp генерировать один заголовок для каждого типа вместо того, чтобы иметь все в одном файле?

Это насколько я мог go:

1) Создал sample.avdl

@namespace("test")
protocol Simple {
  record Address {
    string street;
    string state;
    string zip;
  }
  record Company {
    string name;
    Address address;
  }
  record Employee {
    string firstName;
    string lastName;
    Address address;
  }
}

2) Использовал avro-tools для создания файлов схемы: avro-tools idl2schemata sample.avdl

3) Использовал avrogen cpp для генерации заголовков:

avrogencpp -i Address.avsc -o address.h
avrogencpp -i Employee.avsc -o employee.h
avrogencpp -i Company.avsc -o company.h

Теперь проблема заключается в том, что employee.h и company.h многократно определяют struct Address и, следовательно, не могут собрать вместе.

...