适用于iPhone的PJSIP2.5支持G729编解码器

时间:2016-06-02 04:55:22

标签: ios makefile voip pjsip g729

我是iPhone的pjsip构建的新手。我使用的是iOS 9.3.2,Xcode 7.3和Pjsip 2.5。我已经成功构建了没有g729的Pjsip 2.5,并且没有g729它工作正常。由于我的应用程序也需要g729,我遵循here

的所有指令

使用上述步骤启用g729后,在“make dep&& make clean&& make”中,它为我的应用程序使用的所有架构提供了以下错误。

../src/pjsua2-test/main.cpp
if test ! -d ../bin; then mkdir -p ../bin; fi
/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/../../../Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -o ../bin/pjsua2-test-armv7-apple-darwin_ios \
         output/pjsua2-test-armv7-apple-darwin_ios/main.o -L/MyApps/pjproject/pjlib/lib -L/MyApps/pjproject/pjlib-util/lib -L/MyApps/pjproject/pjnath/lib -L/MyApps/pjproject/pjmedia/lib -L/MyApps/pjproject/pjsip/lib -L/MyApps/pjproject/third_party/lib           -O2 -arch armv7 -isysroot /Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -framework AudioToolbox -framework Foundation -lpjsua2-armv7-apple-darwin_ios -lstdc++ -lpjsua-armv7-apple-darwin_ios -lpjsip-ua-armv7-apple-darwin_ios -lpjsip-simple-armv7-apple-darwin_ios -lpjsip-armv7-apple-darwin_ios -lpjmedia-codec-armv7-apple-darwin_ios -lpjmedia-armv7-apple-darwin_ios -lpjmedia-videodev-armv7-apple-darwin_ios -lpjmedia-audiodev-armv7-apple-darwin_ios -lpjmedia-armv7-apple-darwin_ios -lpjnath-armv7-apple-darwin_ios -lpjlib-util-armv7-apple-darwin_ios  -lsrtp-armv7-apple-darwin_ios -lresample-armv7-apple-darwin_ios -lgsmcodec-armv7-apple-darwin_ios -lspeex-armv7-apple-darwin_ios -lilbccodec-armv7-apple-darwin_ios -lg7221codec-armv7-apple-darwin_ios  -lpj-armv7-apple-darwin_ios -lm -lpthread  -framework CoreAudio -framework CoreFoundation -framework AudioToolbox -framework CFNetwork -framework UIKit -framework UIKit -framework OpenGLES -framework AVFoundation -framework CoreGraphics -framework QuartzCore -framework CoreVideo -framework CoreMedia 
Undefined symbols for architecture armv7:
  "_pjmedia_codec_g729_init", referenced from:
      _pjmedia_codec_register_audio_codecs in libpjmedia-codec-armv7-apple-darwin_ios.a(audio_codecs.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../bin/pjsua2-test-armv7-apple-darwin_ios] Error 1
make[1]: *** [pjsua2-test-armv7-apple-darwin_ios] Error 2
make: *** [all] Error 1

我真的被困在这里了。请帮我解决这个问题。任何人的一条线索都会有所帮助。

1 个答案:

答案 0 :(得分:0)

如果您正在关注您提到的链接,则无需进行任何修改。

  1. pjmedia / build / Makefile:
  2. <?php
    require_once 'dompdf/autoload.inc.php';
    ?>
    <?php
    
    // reference the Dompdf namespace
    
    use Dompdf\Dompdf;
    
    // instantiate and use the dompdf class
    $dompdf = new Dompdf();
    $dompdf->load_html_file('https://www.lotomanager.in/en/print-job.php?ID='.(int)$_GET['ID']);
    
    // (Optional) Setup the paper size and orientation
    $dompdf->setPaper('A4', 'landscape');
    
    // Render the HTML as PDF
    $dompdf->render();
    
    // Output the generated PDF to Browser
    $dompdf->stream();
    ?>
    
    1. pjmedia / build / os-auto.mak.in:
    2. export PJMEDIA_CODEC_OBJS += audio_codecs.o ffmpeg_vid_codecs.o openh264.o\
      
                              h263_packetizer.o h264_packetizer.o \
      
                              $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
      
                              ipp_codecs.o silk.o opus.o $(CODEC_OBJS) \
      
                              g7221_sdp_match.o amr_sdp_match.o **g729.o**
      
      1. 如下所示更改makefile(third_party / build / g729 / Makefile):
      2. 注意 :请确保您遵循makefile的规则,如果在任何情况下它都会出现任何错误。要确认,首先构建third_party / build / g729 / makefile使用make命令。看看它是否成功,然后完整的构建也将成功。)

         export CFLAGS += -I$(THIRD_PARTY)/g729/**Headers** 
        
        -DPJMEDIA_HAS_G729_CODEC=1
        
相关问题