Заголовочный файл формы C: «вектор» файл не найден »в swift - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь интегрировать Objective-C SDK в мой файл swift. Но когда я хочу добавить некоторые файлы из SDK в мой Bridging Header , я получаю эту ошибку 'векторный' файл не найден

Я также получаю строковый файл не найден , если я хочу добавить другой файл в заголовок swift.

Я обнаружил, что это заголовочный файл C. Поставщик SDK дал несколько подсказок, например, создать файл .mm , но как они не знают.

Я попытался добавить все файлы поддержки C или C ++, такие как libstdc ++. 6.tbd, libstdc ++. 6.0.9.tbd, libstdc ++. 6.0.9.dylib, libstdc ++. 6.dylib, libstdc ++. Dylib но ничего не изменилось.

Вот ошибка https://pasteboard.co/InhuW5K.png

А вот и Заголовок моста Интеграция файлов

#ifndef IOT_Demo_Bridging_Header_h
#define IOT_Demo_Bridging_Header_h //#ifndef ObjectiveCHeader_h //#define ObjectiveCHeader_h

#import <LCOpenSDKDynamic/LCOpenSDK_Api.h> //#import "../Depend/LCOpenSDK/LCOpenSDK_Api.h"
#import <LCOpenSDKDynamic/LCOpenSDK_AudioTalk.h>
#import <LCOpenSDKDynamic/LCOpenSDK_PlayWindow.h>
#import <LCOpenSDKDynamic/LCOpenSDK_EventListener.h>
#import <LCOpenSDKDynamic/LCOpenSDK_TalkerListener.h>
#import <LCOpenSDKDynamic/DeviceList.h>
#endif

Я застрял с этой ошибкой в ​​течение нескольких дней. Пожалуйста помоги. Заранее спасибо.

1 Ответ

0 голосов
/ 11 июля 2019

Похоже, вы столкнулись с проблемами, пытаясь использовать код C ++ в Swift. См., Например, этот ответ: Взаимодействие с классами C ++ из Swift . vector и string являются стандартными заголовками библиотек C ++.

Кроме того, выполнение таких поисков, как use c++ in swift, call c++ from swift и т. Д. В Google и StackOverflow, должно предоставить достаточно примеров того, как с этим справиться.

Вкратце, один из подходов заключается в написании оболочки Objective-C ++. Файлы реализации с расширением .mm будут представлять собой смесь кода Objective-C и C ++, т. Е. C ++ API может вызываться кодом из этих файлов. Однако функции, которые должны быть видны Swift через соединительный заголовок, не должны использовать типы C ++ в качестве параметров или возвращаемых значений.

...