Проблема в том, что ваша функция имеет внешнюю связь С.Следовательно, он не может использовать аргументы типа std::vector
, а также объявления throw
, поскольку они являются компонентами C ++.
Чтобы включить его в ваш целевой код C, вы должны написать сопроводительный заголовочный файл, который объявит вашэкспортируемая функция.Его будет намного легче экспортировать, как только вы удалите все ссылки на C ++ из его интерфейса.Это также избавит от необходимости включать заголовки C ++.
Затем, чтобы использовать его из кода Objective C, # включите файл заголовка и передайте информацию о компоновщике в вашу библиотеку.