我正在尝试将Objective集成到我的快速文件中。但是,当我想将SDK中的一些文件添加到我的桥接头中时,我得到的是错误的向量文件,没有找到
如果我想将其他文件添加到快速头文件中,我也会得到字符串文件找不到。
我发现这些是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我被这个错误困扰了几天。请帮帮忙。提前谢谢。
发布于 2019-07-11 00:33:07
听起来您在使用Swift中的C++代码时遇到了问题。例如,参见这个答案:Interacting with C++ classes from Swift。vector和string是标准的C++库头。
此外,在Google和StackOverflow中进行use c++ in swift、call c++ from swift等搜索应该提供足够的例子来说明如何处理这些问题。
简单地说,一种方法是编写一个目标-C++包装器。带有.mm扩展的实现文件将是Objective和C++代码的混合体,也就是说,这些文件中的代码可以调用C++ API。但是,通过桥接标头使Swift可见的函数不应该使用C++类型作为参数或返回值。
https://stackoverflow.com/questions/56963724
复制相似问题