交叉编译PJSIP

使用INTEL工具链编译

编译流程

./configure --prefix=/home/inphase/dev/board/inter/3rdLibrary/src3rd_inter/pjsip CFLAGS="-fPIC" --disable-libwebrtc

./configure详细描述:

  • 当加入CFLAGS="-fPIC"这句话的时候,告诉编译器产生的静态库与位置无关代码,后续动态库方便嵌入静态库。

  • --prefix=路径:调用make install 之后,库存放的位置。

make dep && make
make install

使用mipsel-24kec-linux-uclibc工具链编译

设置编译链路径为环境变量

export PATH=$PATH:/opt/mipsel-24kec-linux-uclibc-4.9-2017.07/usr/bin

编译流程

./configure --host=mipsel-24kec-linux-uclibc --prefix=/home/ggy/pjsip CFLAGS="-fPIC"  --disable-libwebrtc

./configure详细描述:

  • --host=mipsel-24kec-linux-uclibc指定之后,会自动适配GCCG++等等名字。
  • 例如我这里的gccmipsel-24kec-linux-uclibc-gccg++mipsel-24kec-linux-uclibc-g++
make dep && make && make install
### 编译 pjSIP 的配置与构建指南 #### 1. 下载并安装依赖项 要编译 pjSIP,首先需要下载其源码,并确保系统上已安装必要的工具和库。可以从官方仓库获取最新版本的 pjproject 源码[^1]。 对于 Linux 或 macOS 用户,需安装以下软件包: ```bash sudo apt-get install build-essential libasound2-dev libssl-dev libx11-dev libxext-dev libgtk2.0-dev libavcodec-dev libswscale-dev libavformat-dev libspeexdsp-dev ``` Windows 用户可以使用 MinGW 工具链来完成编译环境设置。 #### 2. 获取 pjproject 源码 通过 Git 克隆 pjproject 官方存储库到本地机器: ```bash git clone https://gitcode.com/gh_mirrors/pj/pjproject.git cd pjproject ``` #### 3. 配置编译选项 进入 `pjproject` 文件夹后,运行 configure 脚本来初始化编译环境。此脚本会检测系统的硬件架构和支持的功能集。 ```bash ./configure --enable-shared --disable-sound --disable-video --disable-opengl ``` 上述命令禁用了声音、视频和 OpenGL 支持以简化编译过程。如果目标平台支持这些功能,则可以根据需求调整参数。 #### 4. 执行 Make 命令 一旦配置完成,执行 make 来启动实际的编译流程。 ```bash make dep && make clean && make ``` 这一步可能会花费几分钟时间视计算机性能而定。完成后,在指定目录下生成所需的动态链接库文件(.so) 和静态库文件(.a)。 #### 5. Android 平台上的特殊处理 当针对 Android 开发时,除了基础步骤外还需要额外注意 Gradle 构建脚本中的路径设定以及 NDK 版本兼容性等问题[^2]。具体操作如下: ##### (1) 设置交叉编译器 编辑 `build.mak` 文件,修改 TARGET 变量指向 Android NDK 提供的目标 ABI 类型(armeabi-v7a, arm64-v8a 等)。例如: ```makefile export TARGET=android-armv7 export CROSS_COMPILE=$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21- ``` ##### (2) 更新 CMakeLists.txt 确认项目根目录下的 `CMakeLists.txt` 正确指定了外部依赖的位置及版本号。通常情况下无需手动干预该文件除非遇到特定错误提示[^3]。 ##### (3) 使用 ndk-build 工具 最后调用 Android NDK 自带的 ndk-build 实现最终产物生成工作: ```bash $NDK_HOME/ndk-build APP_ABI=all ``` 以上即为完整的 pjSIP 编译指导说明文档内容概览[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值