在pjsip中成功为android编译后尝试构建libpjsua2.so文件时目标不兼容

时间:2018-09-12 12:14:47

标签: android pjsip pjsua2

我正在尝试为Android的pjsip构建此类文件。
按照此链接中提到的步骤操作后
https://trac.pjsip.org/repos/wiki/Getting-Started/Android
在完成这些步骤之前,我就能成功构建。

$ ./configure-android
$ make dep && make clean && make


尝试构建示例pjsua2应用程序时,将引发此错误。

Makefile importsym.py java pjsua2.i python symbols.i symbols.lst Warning **: file symbols.i is out of date. Run make symbol.
for dir in java; do \
    if make  -C $dir all; then \
        true; \
    else \
        exit 1; \
    fi; \
done
make[1]: Entering directory '/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjsip-apps/src/swig/java'
mkdir -p android/app/src/main/jniLibs/armeabi
/home/protocol/Jeeva/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -shared -o android/app/src/main/jniLibs/armeabi/libpjsua2.so output/pjsua2_wrap.o \
    -DPJ_AUTOCONF=1 -fpic -ffunction-sections -funwind-tables -no-canonical-prefixes -g -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -mthumb -Os -DNDEBUG -Ijni -DANDROID -Wa,--noexecstack -Wformat -Werror=format-security -isystem /home/protocol/Jeeva/Android/android-ndk-r13b/platforms/android-19/arch-arm/usr/include  -I/home/protocol/Jeeva/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/include -I/home/protocol/Jeeva/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I/home/protocol/Jeeva/PJSIPWorks/openssl-1.0.2l/include             -I/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjlib/include -I/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjlib-util/include -I/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjnath/include -I/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjmedia/include -I/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjsip/include -fPIC -D__ANDROID__  -L/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjlib/lib -L/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjlib-util/lib -L/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjnath/lib -L/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjmedia/lib -L/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjsip/lib -L/home/protocol/Jeeva/PJSIPWorks/AESEncryption/third_party/lib         --sysroot=/home/protocol/Jeeva/Android/android-ndk-r13b/platforms/android-19/arch-arm -L/home/protocol/Jeeva/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/ -L/home/protocol/Jeeva/PJSIPWorks/openssl-1.0.2l/lib -lpjsua2-arm-unknown-linux-androideabi -lstdc++ -lpjsua-arm-unknown-linux-androideabi -lpjsip-ua-arm-unknown-linux-androideabi -lpjsip-simple-arm-unknown-linux-androideabi -lpjsip-arm-unknown-linux-androideabi -lpjmedia-codec-arm-unknown-linux-androideabi -lpjmedia-arm-unknown-linux-androideabi -lpjmedia-videodev-arm-unknown-linux-androideabi -lpjmedia-audiodev-arm-unknown-linux-androideabi -lpjmedia-arm-unknown-linux-androideabi -lpjnath-arm-unknown-linux-androideabi -lpjlib-util-arm-unknown-linux-androideabi  -lsrtp-arm-unknown-linux-androideabi -lresample-arm-unknown-linux-androideabi -lg729codec-arm-unknown-linux-androideabi -lgsmcodec-arm-unknown-linux-androideabi -lspeex-arm-unknown-linux-androideabi -lilbccodec-arm-unknown-linux-androideabi -lg7221codec-arm-unknown-linux-androideabi -lyuv-arm-unknown-linux-androideabi -lwebrtc-arm-unknown-linux-androideabi  -lpj-arm-unknown-linux-androideabi -lssl -lcrypto -lm -lgnustl_static  -lc -lgcc -ldl -lOpenSLES -llog -lGLESv2 -lEGL -landroid -Wl,-soname,libpjsua2.so 
/home/protocol/Jeeva/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: output/pjsua2_wrap.o: incompatible target
collect2: error: ld returned 1 exit status
Makefile:165: recipe for target 'android/app/src/main/jniLibs/armeabi/libpjsua2.so' failed
make[1]: *** [android/app/src/main/jniLibs/armeabi/libpjsua2.so] Error 1
make[1]: Leaving directory '/home/protocol/Jeeva/PJSIPWorks/AESEncryption/pjsip-apps/src/swig/java'
Makefile:23: recipe for target 'all' failed
make: *** [all] Error 1

1 个答案:

答案 0 :(得分:3)

error: output/pjsua2_wrap.o: incompatible target

看到此信息后,我试图通过删除此特定文件并允许其从脚本重新创建来解决此问题。
在此路径中删除此文件 pjsua2_wrap.o 后,问题已解决

pjsip-apps/src/swig/java/output/pjsua2_wrap.o

删除此文件后,此问题已解决。