2015-10-07 6 views
0

Я работаю с библиотекой Openh264. Ранее я работал с этой библиотекой в ​​среде Linux. Но я не нашел никакой рабочей документации для ссылки на библиотеку openh264 на Xcode.Как связать или добавить библиотеку openh264 в проект Objective C с помощью Xcode

Я пробовал другие решения, чтобы добавить .a или .so файлы библиотеки в Xcode, как: I) How to import a C++ library into a Xcode Objective C project? б) How to link or load shared libraries (.so) in Objective C?

Но, к сожалению, я не смог каждый раз. Я получил OpenH264 по этой ссылке: https://github.com/cisco/openh264. Я могу выполнить проект декодера демо-кодировщика, который предоставляется библиотекой Openh264, но мне нужна помощь для связывания этой библиотеки в моем собственном проекте. Спасибо заранее.

+0

похоже, что вам нужно ознакомиться с основными понятиями, такими как 'make'. –

+0

Я успешно выполнил Makefile для создания OpenH264 на моей Mac OS. – RajibTheKing

+0

@RajubTheKing, тогда в чем проблема? Файл Makefile, похоже, указывает, что создается статическая библиотека, вы можете добавить ее в свой проект, как если бы вы добавили какую-либо другую статическую библиотеку. –

ответ

0

Вот шаги для интеграции OpenH264 библиотеки к любому проекту Xcode:

  1. Скачать или Clone OpenH264 Библиотека по этой ссылке: https://github.com/cisco/openh264
  2. Создать Xcode проект выбирающий IOS приложение, Objective C и другие обязательные параметры.
  3. Место OpenH264 Библиотека со всеми файлами и папками в корневом каталоге проекта. Например мое приложение IOS находится в директории /user/rajib/HelloApp/HelloApp.xcodeproj и OpenH264 библиотека хранится в /пользователь/Rajib/HelloApp/OpenH264Library.
  4. Теперь откройте терминал и включите режим root.
  5. Перейдите в каталог, где OpenH264Library хранились и сделать с помощью следующей команды: -> Sudo сделать ОСА = ИОС ARCH = amrv7 установить
  6. Теперь переходят к сборкам проекта Установки и найти Header Search Path атрибут. Добавьте следующие атрибуты заголовка в отдельные строки к этому атрибуту. $ (наследуется), "$ (SRCROOT)/OpenH264Library/кодек/кодер/ядро ​​/ вкл", "$ (SRCROOT)/OpenH264Library/кодек/обработки/интерфейс", «$ (SRCROOT)/OpenH264Library/кодек/общие/вкл», "$ (SRCROOT)/OpenH264Library/кодек/API/SVC",
  7. Теперь мы должны интегрировать более 3 Xcode Проекты по имени common.xcodeproj, обработка. xcodeproj, welsenc.xcodeproj внутри наш проект HelloApp. Все эти файлы .xcodeproj будут найдены внутри OpenH264Library. Мы должны найти эти файлы .xcodeproj с этим именем внутри OpenH264Library и просто перетащить эти файлы в наш проект HelloApp.
  8. Теперь перейдите к разделу «Построение проекта» и найдите Целевые зависимости атрибут. Добавить welsenc, обработка, общий проект из работа место.
  9. Попытайтесь построить этот проект, затем эти 3 проекта будут скомпилированы и исполнены, и мы найдем 3 статических библиотеки на нашем рабочем месте.
  10. Теперь перейдите к проекту Сформируйте фазу снова и найдите Ссылка Binary с библиотеками атрибут. Добавьте libwelsenc.a, libprocessing.a, libcommon.a статические библиотеки с рабочего места.

Вот и все ... это процедура построения и связывания библиотеки openh264. Теперь вы можете легко вызвать библиотечные функции openh264. Здесь я даю простой рабочий код инициализации Encoder, вызывающий библиотечную функцию 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); 
    } 

}