首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linphone X- vcard_grammar

Linphone X- vcard_grammar
EN

Stack Overflow用户
提问于 2021-11-12 22:04:22
回答 1查看 291关注 0票数 1

我正在尝试将linphone-sdk从https://download.linphone.org/releases/macosx/sdk/集成到我的目标c应用程序。基本上,我所做的是提取zip文件并将框架文件导入到我的项目中,然后将所有框架更改为“嵌入和签名”,然后编译。程序运行良好,直到我尝试创建内核,即使使用“linphone_factory_create_core_with_config_3”或“linphone_factory_create_core_3”,它们都会崩溃,导致相同的错误,即“无法加载语法vcard_grammar,因为文件无法定位”。已经尝试将语法文件放在项目的几个地方,不同的版本,包括最后一个版本,但没有运气。有人知道怎么解决这个问题吗?

样本代码:

代码语言:javascript
复制
LinphoneFactory *factory = linphone_factory_get();

NSString *linphonecfg = [LinphoneManager bundleFile:@"linphonerc"];
NSString *fileStr = [NSString stringWithContentsOfFile:linphonecfg encoding:NSUTF8StringEncoding error:nil];

configDb = linphone_config_new_from_buffer(fileStr.UTF8String);
theLinphoneCore = linphone_factory_create_core_with_config_3(factory, configDb, NULL);

我已经尝试过编译linphone桌面,但是每次我尝试编译它的时候,都会在随机的地方失败,所以无法解决这个问题。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-14 20:17:12

因此,在对SDK进行了大量修改之后,我想出了解决vCard问题的方法,并在macOS上使用Swift/Objective(针对arm64和x86_x64)正确地编译。

编译SDK

使用

  1. 安装以下依赖项:

brew安装pkg-config cmake doxygen nasm yasm

  1. 安装pip3 3/python3 3(如果您还没有安装)以及它的依赖关系:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py pip3 install pystache pip3 pip3

  1. 克隆最新的Linphone及其依赖关系

git克隆--递归https://gitlab.linphone.org/BC/public/linphone-sdk

  1. Make并设置构建目录(此处的关键是-DENABLE_VCARD=OFF):

mkdir构建&& cd构建cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_VCARD=OFF .

Xcode集成

(如果构建成功,希望如此)

在您的构建文件夹中,进入您的share

  • Add文件夹

  • ,您应该会看到几个不同的文件夹,但是最重要的文件夹是Frameworks和Xcode项目中的Frameworksshare文件夹,并选中了以下选项:

G 231

如果使用Swift,则需要使用以下行创建目标-C桥接头,以避免在文件夹中的LinphoneWrapper.swift中出现大量错误:

代码语言:javascript
复制
#import "linphone/factory.h"
#import "linphone/types.h"

#import "linphone/core.h"
#import "linphone/call.h"
#import "linphone/tunnel.h"
#import "linphone/wrapper_utils.h"
#import "linphone/core_utils.h"
#import "linphone/vcard.h"

#import "belle-sip/object.h"
#import "bctoolbox/list.h"
#import "mediastreamer2/msfactory.h"

  1. 在您的应用程序目标的Frameworks, Libraries, and Embedded Content部分中,每个框架都应该是“嵌入和签名”。

  1. 尝试编译和访问CoreFactory等。在Swift文件中,如果它不起作用,请在下面评论一下,我将尽力帮助您!
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69949540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档