2014-10-30 70 views
0

我想用PJSIP编写一个非常小,非常简单的项目。但我已经坚持第一步,将PJSIP整合到我的项目中。我试图使用arm-linux-gnueabihf-gcc交叉编译器在Ubuntu 14.04系统上构建和编译。对于编码本身,我使用Eclipse CDT,但交叉编译部分正常工作。PJSIP应用程序链接错误

我下载去pjproject-2.3文件夹到我的系统,使用此命令配置的:

./configure --host=arm-linux-gnueabihf CFLAGS='--sysroot=/home/david/rpi/rootfs' LDFLAGS='--sysroot=/home/david/rpi/rootfs' 

到/ home /大卫/ RPI /根文件系统文件夹是我复制我的Pi的rootsystem。然后我跑了'make dep'和'make'。我将所有静态库* .a复制到我的Eclipse项目文件夹中,并将这些库添加到链接器(-l)中。

但是,当我想建立我得到以下错误:

Invoking: Cross G++ Linker 
arm-linux-gnueabihf-g++ -L"/home/david/workspace/VoIPBenchmark" -L/home/david/rpi/rootfs/usr/lib -L/home/david/rpi/rootfs/usr/lib/arm-linux-gnueabihf --sysroot=/home/david/rpi/rootfs/ -o "VoIPBenchmark" ./src/SipImplemantation.o ./src/SipImplementationPJ.o ./src/Timer.o ./main.o -lpjsua2-arm-unknown-linux-gnueabihf -lpjsua-arm-unknown-linux-gnueabihf -lpjsip-ua-arm-unknown-linux-gnueabihf -lpjsip-simple-arm-unknown-linux-gnueabihf -lpjsip-arm-unknown-linux-gnueabihf -lpjsdp-arm-unknown-linux-gnueabihf -lpjmedia-audiodev-arm-unknown-linux-gnueabihf -lportaudio-arm-unknown-linux-gnueabihf -lpjmedia-codec-arm-unknown-linux-gnueabihf -lpjmedia-arm-unknown-linux-gnueabihf -lspeex-arm-unknown-linux-gnueabihf -lgsmcodec-arm-unknown-linux-gnueabihf -lsrtp-arm-unknown-linux-gnueabihf -lilbccodec-arm-unknown-linux-gnueabihf -lresample-arm-unknown-linux-gnueabihf -lpjnath-arm-unknown-linux-gnueabihf -lpjlib-util-arm-unknown-linux-gnueabihf -lpj-arm-unknown-linux-gnueabihf -lpthread -lm -lrt -lasound -llinphone 
/home/david/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: /home/david/workspace/VoIPBenchmark/libsrtp-arm-unknown-linux-gnueabihf.a(ctr_prng.o)(.text+0x8c): unresolvable R_ARM_ABS32 relocation against symbol `ctr_prng' 
/home/david/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: final link failed: Nonrepresentable section on output 
collect2: error: ld returned 1 exit status 
make: *** [VoIPBenchmark] Error 1 

我用Google搜索一些和尝试添加-fPIC上面./configure这步,重新复制库,但是没有结果。有谁知道这条消息是怎么说的,更好的是,知道一个解决方案?

回答

0

此问题已得到解决。我正在使用一个链接到srtp库的库,这显然是有冲突的。所以我现在不使用导致问题的库。