PJSIP сборник для симулятора iphone - PullRequest
1 голос
/ 08 марта 2012

Я пытаюсь скомпилировать pjsip для симулятора iphone и получаю сообщение об ошибке:

../include/pj/config_site_sample.h:322:1: warning: this is the location of the previous definition
../src/pj/activesock.c: In function ‘activesock_create_iphone_os_stream’:
../src/pj/activesock.c:146: error: ‘kCFStreamNetworkServiceType’ is unavailable (declared at /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/System/Library/Frameworks/CFNetwork.framework/Headers/CFSocketStream.h:256)
../src/pj/activesock.c:147: error: ‘kCFStreamNetworkServiceTypeVoIP’ is unavailable (declared at /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/System/Library/Frameworks/CFNetwork.framework/Headers/CFSocketStream.h:259)

Пожалуйста, помогите.

1 Ответ

2 голосов
/ 10 марта 2012

для блага других: используется последний pjsip из транка. измените нижнюю строку на i686 в configure_iphone

for archpath in `ls -d ${SDKPATH}/usr/lib/gcc/arm-apple-darwin*`; do

до

for archpath in `ls -d ${SDKPATH}/usr/lib/gcc/i686-apple-darwin*`; do

и создайте config_site.h (pjlib / include / pj) со строками ниже

#define PJ_CONFIG_IPHONE 1
#include <pj/config_site_sample.h>

убедитесь, что у вас есть правильные настройки SDK и Arch. Я использовал те, что ниже.

export CFLAGS="-O2 -m32 -miphoneos-version-min=4.0" LDFLAGS="-O2 -m32" 
export IPHONESDK=iPhoneSimulator4.2.sdk 
export DEVPATH=/Developer/Platforms/iPhoneSimulator.platform/Developer 
export ARCH="-arch i686" 

Также странно, что build / rules.mak имеет недопустимые пробелы вместо вкладок (проверьте последние несколько строк). замените пробелы на вкладки и сделайте

$ rm pjlib/build/.pjlib* 
$ rm pjnath/build/.pjnath* 

Теперь, наконец, я его скомпилировал.

...