当前位置: 首页 > news >正文

ubuntu20.04编译 pjproject-2.7.1

一.recompile with -fPIE

分析:需要重新编译并且带上 -fPIE,-fPIE可以使生成的可执行文件在任意内存都可以运行。

解决方法:加上了这两个选项

./configure CFLAGS="-fPIC -fPIE" CXXFLAGS="-fPIC -fPIE"LDFLAGS="-pie" --enable-srtp --enable-shared  --prefix=...make depmake -j8make install 
  • 我在编译自己项目的时候并没有使用-fPIE,应该是有其他依赖的问题无法使用-fPIE

二.静态库链接动态库,静态库放在后面

但是编译出来的pjproject库依赖ssl,两个都是静态库,这个时候需要把ssl放到pjproject库后面才能编译通过,不是很明白

TARGET_LINK_LIBRARIES(${EXE_NAME} -lpjsua2-x86_64-unknown-linux-gnu
... -lpjsua-x86_64-unknown-linux-gnu -lpjsip-ua--lasound)
TARGET_LINK_LIBRARIES(${EXE_NAME} libssl.a libcrypto.a)
# TARGET_LINK_LIBRARIES(${EXE_NAME} -lssl -lcrypto)
TARGET_LINK_LIBRARIES(${EXE_NAME} -lstdc++)
TARGET_LINK_LIBRARIES(${EXE_NAME} libglog.a libgflags.a)
TARGET_LINK_LIBRARIES(${EXE_NAME} ${UUID_LIBRARY} -ldl -lpthread)

相关文章:

  • 2025音频传输模块全球选购指南:高品质音频体验的品牌之选
  • 可靠数据传输原理
  • Sqlalchemy 连mssql坑
  • 【前端】Vue3 中实现两个组件的动态切换保活
  • 快速上手shell条件测试
  • 【评测】DuReader-Retrieval数据集之初体验
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.7 R语言解题
  • magic-api配置Git插件教程
  • 安装Arch Linux(实体机、干货)
  • Kubernetes 中部署 kube-state-metrics 及 Prometheus 监控配置实战
  • leetcode0954. 二倍数对数组-medium
  • CCPC shandong 2025 G
  • 双路物理CPU机器上安装Ubuntu并部署KVM以实现系统多开
  • 第二章支线一:影之殿堂 · 阴影与过渡魔法
  • 生成式人工智能:重构软件开发的范式革命与未来生态
  • 数据的类型——认识你的数据
  • Hibernate:Java持久层框架的高效应用
  • DMBOK对比知识点对比(2)
  • 江科大UART串口通讯hal库实现
  • Python reduce()函数详解:累积计算的艺术
  • 付给招聘网站的费用怎么做分录/免费跨国浏览器
  • 服装网站建设项目规划/网站服务器速度对seo有什么影响
  • 网站服务器有哪些种类/推广代理平台登录
  • 旅游做的视频网站/嘉兴关键词优化报价
  • 网站建设所需人力/百度服务
  • 鲜花网站建设解决方案/电商运营去哪里学比较好