首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Xcode链接或添加Objective项目上的openh264库

如何使用Xcode链接或添加Objective项目上的openh264库
EN

Stack Overflow用户
提问于 2015-10-07 05:06:30
回答 1查看 1.7K关注 0票数 0

我正在使用Openh264库。我以前在Linux环境中使用过这个库。但是我还没有找到任何可以将openh264库链接到Xcode上的工作文档。

我尝试过其他解决方案,在Xcode中添加.a或.so库文件,例如: i) How to import a C++ library into a Xcode Objective C project? ii) How to link or load shared libraries (.so) in Objective C?

但不幸的是我每次都失败了。我从以下链接获得了OpenH264:https://github.com/cisco/openh264。我可以执行演示编码器解码器项目,这是由Openh264库,但我需要帮助链接到我自己的项目这个库。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-07 09:19:13

下面是将OpenH264库集成到任何Xcode项目的步骤:

  1. 从此链接下载或克隆OpenH264库:https://github.com/cisco/openh264
  2. 创建选择IOS应用程序、目标C和其他强制性选项的Xcode项目。
  3. 将OpenH264库和所有文件和文件夹放在项目根目录中。例如,我的IOS应用程序位于/user/rajib/HelloApp/HelloApp.xcodeproj,目录下,OpenH264库保存在/user/rajib/HelloApp/OpenH264Library中。
  4. 现在打开终端并启用根模式。
  5. 转到保存OpenH264Library的目录,并使用以下命令制作:->sudo make OS=ios ARCH=amrv7 ARCH=amrv7
  6. 现在转到Project设置,并找到头搜索路径属性。将以下标题路径以单独的行添加到该属性。(继承),"$(SRCROOT)/OpenH264Library/codec/encoder/core/inc","$(SRCROOT)/OpenH264Library/codec/processing/interface","$(SRCROOT)/OpenH264Library/codec/common/inc","$(SRCROOT)/OpenH264Library/codec/api/svc",
  7. 现在,我们必须在我们的common.xcodeprojprocessing.xcodeprojwelsenc.xcodeproj项目中集成另外3个名为HelloApp的Xcode项目。所有这些.xcodeproj文件都可以在OpenH264Library中找到。我们必须在.xcodeproj项目中找到具有该名称的这些OpenH264Library文件,并将这些文件拖放到我们的HelloApp项目中。
  8. 现在转到项目构建阶段,并找到目标依赖项属性。添加,processing公共项目。
  9. 尝试构建这个项目,然后这3个项目将编译和执行,我们将在我们的工作场所找到3个静态库。
  10. 现在再次进入项目构建阶段,并找到带有库属性的链接二进制文件。添加libwelsenc.a senc.a,libprocessing.a,libcommon.a。一个工作场所的静态库。

就这样..。这是建立和链接openh264库的过程。现在,您可以轻松地调用openh264库函数。在这里,我给出了一个简单的工作代码的编码器初始化调用OpenH264库函数。

代码语言:javascript
复制
//Adding Header files
#include "codec_api.h"
#include "codec_def.h"

//Calling OpenH264 Library function to initialize Encoder
- (IBAction)EncoderTestBtn:(id)sender {
    NSLog(@"Inside EncoderTestBtn");
    ISVCEncoder *pEncoder = NULL;
    int iRet = -1;
    iRet = WelsCreateSVCEncoder(&pEncoder);
    if(iRet == 0)
    {
        NSLog(@"Rajib_Check: Encoder Initialization SUCCESSFUL");
    }
    else
    {
        NSLog(@"Rajib_Check: ERROR--> iRet returned with = %d", iRet);
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32984185

复制
相关文章

相似问题

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