fondo color cambiar ios makefile build voip pjsip

ios - color - ionic sass



Compilar la biblioteca PJSIP 2.5 para todas las arquitecturas (5)

Pasos para compilar para todos los dispositivos.

  1. compilar para todos los dispositivos por separado
  2. fusionarse con lipo

p.ej.

-create /libsrtp-arm64-apple-darwin_ios.a /libsrtp-i386-apple-darwin_ios.a -output output_file_name

luego use output_file_name.a como una biblioteca universal para todos los dispositivos y simuladores

para verificar la arquitectura soportada: output_file_name.a

lipo -info name_of_static_lib

output : /libsrtp-universal-apple-darwin_ios.a are: armv7 armv7s i386 x86_64 arm64

Compilar la biblioteca PJSIP 2.5 para todas las archietecturas

Gracias

Para compilar la biblioteca PJSIP para el dispositivo iPhone, estoy usando este código

make distclean && make clean ARCH=''-arch arm64'' ./configure-iphone --enable-opus-codec make dep make

Este código me permite instalar mi aplicación solo para arquitectura única. Para compilar pjsip para todas las arquitecturas (armv7, armv7s, arm64, i386, x86_64), qué comando o herramienta puedo usar


la fusión como esta como publicado

lipo -create / Mi / Proyecto / pjsip-universal / x86_64 / libgsmcodec-x86_64-apple-darwin_ios.a / Mi / Proyecto / pjsip-universal / i386 / libgsmcodec-i386-apple-darwin_ios.a / Mi / Proyecto / pjsip- universal / armv7s / libgsmcodec-armv7s-apple-darwin_ios.a / Mi / Proyecto / pjsip-universal / armv7 / libgsmcodec-armv7-apple-darwin_ios.a / Mi / Proyecto / pjsip-universal / arm64 / libgsmcodec-arm64-apple- darwin_ios.a -output / My / Project / pjsip-universal / universal / libgsmcodec-universal-apple-darwin_ios.a

finalmente probarlo

lipo -info / My / Project / pjsip-universal / libgsmcodec-universal-apple-darwin_ios.a

salida: Arquitecturas en el archivo gordo: / My Project / pjsip-universal / libgsmcodec-universal-apple-darwin_ios.a son: i386 armv7s armv7 x86_64 arm64

Una vez que generas la arquitectura universal:

Siga este enlace para agregar su proyecto desde esta línea en el enlace

Agregar los archivos de encabezado al proyecto

cómo agregar en el proyecto

Espero que esto te ayudará.


Escribimos un cocoapod que creará una biblioteca estática que puede incluir en su proyecto. Por el momento, solo puedes usarlo en un entorno de cacao cupido de Objective C. Estamos trabajando en una versión que creará una biblioteca dinámica para que pueda usarse con Swift.

Por favor compruébalo en:

https://github.com/VoIPGRID/Vialer-pjsip-iOS

Hemos creado un contenedor de código abierto que hace que la integración de PJSIP en su proyecto iOS sea mucho más fácil:

https://github.com/VoIPGRID/VialerSIPLib


Puede verificar este proyecto en GitHub, su autor hizo un gran trabajo al compilar pjsip para todas las arquitecturas, incluso proporcionó podspec para facilitar la integración de CocoaPods.


--- One Way to build PJSIP libraries --- test with pjsip 2.6 //Updated for XCode 8. Building PJSIP $ cd /Users/ravimalviya/Developer/Dev2/trunk //If you want to specify the minimum supported iOS version //export MIN_IOS="-miphoneos-version-min=8.0" Compile Library and Build For Default iPhone 4 use armv7 architecture $ ./configure-iphone && make dep && make clean && make Build For iPhone 5, use armv7s architecture $ ARCH=''-arch armv7s'' ./configure-iphone && make dep && make clean && make Build For iPhone 5s, use arm64 architecture $ ARCH=''-arch arm64'' ./configure-iphone && make dep && make clean && make Build For Simulator, use i386 architecture export DEVPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer ARCH="-arch i386" CFLAGS="-O2 -m32 -mios-simulator-version-min=5.0" LDFLAGS="-O2 -m32 -mios-simulator-version-min=5.0" ./configure-iphone make dep && make clean && make Build For Simulator, use x86_64 architecture export DEVPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer ARCH="-arch x86_64" CFLAGS="-O2 -m32 -mios-simulator-version-min=5.0" LDFLAGS="-O2 -m32 -mios-simulator-version-min=5.0" ./configure-iphone make dep && make clean && make The compilation result pjlib/lib pjlib-util/lib pjmedia/lib pjsip/lib pjnath/lib third_party/lib Note add into project.. Combine resulting archtecture(arm64,armv7,armv7s,i386, x86_64) supported library .a file. //goto directory where you collect all build library. create folder name arm64, armv7s, armv7, i386, x86_64 and put all library respectivly. each having only one arch supported library file. //rename file in all these 5 folders it''s a easy way to make universal library. //Also create folder named unified where all unversal library will create. $ export LIB_NAME="libg7221codec.a" $ lipo -arch armv7 armv7/$LIB_NAME -arch armv7s armv7s/$LIB_NAME -arch arm64 arm64/$LIB_NAME -arch i386 i386/$LIB_NAME -arch x86_64 x86_64/$LIB_NAME -create -output unified/$LIB_NAME //-arch armv7s armv7s/$LIB_NAME means support armv7s get library from directory armv7s/$LIB_NAME and $LIB_NAME file name that only support armv7s. //-arch arm64 arm64/$LIB_NAME ............ //-arch armv7 armv7/$LIB_NAME ............ //-arch i386 i386/$LIB_NAME .............. //-arch x86_64 x86_64/$LIB_NAME .............. //unified/$LIB_NAME is directory where unversal library will build using lips. with same name $LIB_NAME that export. do it same. //check which arch you lib is supporting xcrun -sdk iphoneos lipo -info unified/$LIB_NAME $ export LIB_NAME="libgsmcodec.a" $ lipo -arch armv7 armv7/$LIB_NAME -arch armv7s armv7s/$LIB_NAME -arch arm64 arm64/$LIB_NAME -arch i386 i386/$LIB_NAME -arch x86_64 x86_64/$LIB_NAME -create -output unified/$LIB_NAME $ export LIB_NAME="libilbccodec.a" $ .....same as above in lipo...... $ export LIB_NAME="libpj.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjlib-util.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjmedia-audiodev.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjmedia-codec.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjmedia-videodev.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjmedia.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjnath.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjsdp.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjsip-simple.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjsip-ua.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjsip.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjsua.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjsua.a" $ .....same as above in lipo...... $ export LIB_NAME="libpjsua2.a" $ .....same as above in lipo...... $ export LIB_NAME="libresample.a" $ .....same as above in lipo...... $ export LIB_NAME="libspeex.a" $ .....same as above in lipo...... $ export LIB_NAME="libsrtp.a" $ .....same as above in lipo...... $ export LIB_NAME="libyuv.a" $ lipo -arch armv7 armv7/$LIB_NAME -arch armv7s armv7s/$LIB_NAME -arch arm64 arm64/$LIB_NAME -arch i386 i386/$LIB_NAME -arch x86_64 x86_64/$LIB_NAME -create -output unified/$LIB_NAME Note: Unversal libraries you can add into your project and also mention in library search path. //In order to use the pjsip libraries, we need to include folder that ahve header files that access .a files. Naturally, the header files are located in: pjlib/include pjlib-util/include pjmedia/include pjnath/include pjsip/include Note: do''t add into project..buz you can not import like import <pjsip-lib/pjsip.h> so just place these folder into project directory where ever you want but mention in header search path. Enjoy (:)