【问题标题】:PJSIP Application linking errorPJSIP 应用程序链接错误
【发布时间】:2014-10-30 14:55:18
【问题描述】:

我正在尝试使用 PJSIP 编写一个非常小、非常简单的项目。但是我已经停留在第一步,将 PJSIP 合并到我的项目中。我正在尝试使用 arm-linux-gnueabihf-gcc 交叉编译器在 Ubuntu 14.04 系统上构建和编译。对于编码本身,我使用的是 Eclipse CDT,但交叉编译部分工作正常。

我将 de pjproject-2.3 文件夹下载到我的系统中,并使用以下命令对其进行了配置:

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

/home/david/rpi/rootfs 文件夹是我复制 Pi 的根系统的位置。然后我运行“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

我搜索了一些并尝试在上面的 ./configure 步骤中添加 -fPIC,重新复制了库,但没有结果。有谁知道这条消息在说什么,更好的是,知道解决方案吗?

【问题讨论】:

    标签: linker cross-platform static-libraries linker-errors pjsip


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 2011-09-17
      • 2012-06-06
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多