C++ 如何使用Xcode在Objective C项目上链接或添加openh264库

C++ 如何使用Xcode在Objective C项目上链接或添加openh264库,c++,ios,objective-c,xcode,openh264,C++,Ios,Objective C,Xcode,Openh264,我正在使用Openh264库。我以前在Linux环境中使用过这个库。但我还没有找到任何工作文档来链接Xcode上的openh264库 我尝试了其他解决方案来在Xcode中添加.a或.so库文件,如: 我 二, 但不幸的是,我每次都失败了。 我从这个链接获得了OpenH264: . 我可以执行Openh264库给出的演示编码器-解码器项目,但我需要帮助在我自己的项目中链接这个库。 提前感谢。以下是将OpenH264库集成到任何Xcode项目的步骤: 从以下链接下载或克隆OpenH264库: 创建X

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

我尝试了其他解决方案来在Xcode中添加.a或.so库文件,如: 我 二,

但不幸的是,我每次都失败了。 我从这个链接获得了OpenH264: . 我可以执行Openh264库给出的演示编码器-解码器项目,但我需要帮助在我自己的项目中链接这个库。
提前感谢。

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

从以下链接下载或克隆OpenH264库: 创建Xcode项目,选择IOS应用程序、目标C和其他必需选项。 将包含所有文件和文件夹的OpenH264库放在项目根目录中。例如,我的IOS应用程序位于/user/rajib/HelloApp/HelloApp.xcodeproj目录,OpenH264库保存在/user/rajib/HelloApp/OpenH264库中。 现在打开终端并启用根模式。 转到保存OpenH264库的目录,并使用以下命令进行make:->sudo make OS=ios ARCH=amrv7 install 现在转到项目构建设置并查找标题搜索路径属性。在该属性的单独行中添加以下标题路径。 $inherited、$SRCROOT/openh264库/codec/encoder/core/inc、$SRCROOT/openh264库/codec/processing/interface、$SRCROOT/openh264库/codec/common/inc、$SRCROOT/openh264库/codec/api/svc、, 现在我们必须在HelloApp项目中集成另外3个名为common.xcodeproj、processing.xcodeproj、welsenc.xcodeproj的Xcode项目。所有这些.xcodeproj文件都将在OpenH264库中找到。我们必须在OpenH264库中找到这些同名的.xcodeproj文件,然后将这些文件拖放到HelloApp项目中。 现在转到项目构建阶段并查找目标依赖项属性。从工作场所添加welsenc、processing、common项目。 尝试构建这个项目,然后这3个项目将编译和执行,我们将在我们的工作场所找到3个静态库。 现在再次进入项目构建阶段,找到带有库属性的链接二进制文件。从工作区添加libwelsenc.a、libprocessing.a、libcommon.a静态库。 就这样。。。这是构建和链接openh264库的过程。 现在您可以轻松调用openh264库函数。这里我给出了一个调用OpenH264库函数的编码器初始化的简单工作代码

//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);
    }

}

看来您需要熟悉make等核心概念。我已成功执行Makefile在Mac OS上构建OpenH264。@RajubTheKing,那有什么问题?Makefile似乎指定正在构建一个静态库,您可以将其添加到项目中,就像添加任何其他静态库一样。我从Openh264库文档中学习了Make命令。Make命令是:sudomakeos=iosarch=armv7安装。我能够成功地构建openh264并获得所有库文件.dylib、.a等。我已经链接了。此过程中的文件:Project Navigator->build Phase->Link Binary with Libraries->Fetched libopenh264.a by finder and open我还链接了所有需要的头文件。但直到我无法调用在.a文件中实现的库函数为止。