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

LINUX高通平台交叉编译地图软件PROJ

  • 准备工作

LINUX编译地图软件PROJ-CSDN博客

  • toolchain脚本
set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) # 高通OE交叉编译器前缀 set(TOOLCHAIN_PREFIX "aarch64-oe-linux-") set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++) set(CMAKE_AR ${TOOLCHAIN_PREFIX}ar) set(CMAKE_RANLIB ${TOOLCHAIN_PREFIX}ranlib) set(CMAKE_LIBRARY_ARCHIVER ${TOOLCHAIN_PREFIX}ar) # Sysroot路径 set(TOOLCHAIN_SYSROOT "/usr/local/x86-aarch64-toolchain/sysroots/aarch64-oe-linux") set(CMAKE_SYSROOT ${TOOLCHAIN_SYSROOT}) # 交叉查找规则 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) # 编译flag适配高通AArch64 set(CMAKE_C_FLAGS "-march=armv8-a -O2 -Os") set(CMAKE_CXX_FLAGS "-march=armv8-a -O2 -Os -include limits")
  • 编译脚本
SOURCE_ROOT_PATH=`pwd` TOOLCHAIN_PATH=/usr/local/x86-aarch64-toolchain CROSS_NAME=aarch64-oe-linux CROSS_BIN=${TOOLCHAIN_PATH}/sysroots/x86_64-qtisdk-linux/usr/bin/${CROSS_NAME} export PATH=${CROSS_BIN}:${PATH} . ${TOOLCHAIN_PATH}/environment-setup-aarch64-oe-linux . ${TOOLCHAIN_PATH}/environment-setup-aarch64-oe-linux-sdllvm # 配置全局变量 TOOLCHAIN_FILE="${SOURCE_ROOT_PATH}/aarch64-oe.cmake" SYSROOT="${TOOLCHAIN_PATH}/sysroots/aarch64-oe-linux" PROJ_INSTALL_DIR=$HOME/proj_install make clean rm -rf CMakeCache.txt CMakeFiles rm -rf ${PROJ_INSTALL_DIR} BUILD_DIR=build if [ -d ${BUILD_DIR} ]; then rm -rf ${BUILD_DIR} fi mkdir ${BUILD_DIR} cd ${BUILD_DIR} cmake .. \ -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \ -DCMAKE_INSTALL_PREFIX=${PROJ_INSTALL_DIR} \ -DCMAKE_FIND_ROOT_PATH=${SYSROOT} make -j$(nproc) # -j 参数可以加速编译 make install
  • 检查编译结果
$ file libproj.so.25.9.8.1 libproj.so.25.9.8.1: ELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=8b831cfdeda88efdcd4bc6f706da272400451831, with debug_info, not stripped
http://www.gsyq.cn/news/1625138.html

相关文章:

  • Java应用性能测试自动化:从JMeter实战到高并发调优
  • 饮用水pH计的技术原理科普
  • 二级分销爆单的“财务噩梦”:为什么微商城一卡,老板的钱就被多提现了?
  • 马尔可夫链与HMM工程实战:从状态设计到生产部署
  • 搭建微信电商小程序要多少钱:定制和SaaS商城怎么选更适合实体店
  • 二十年只为超越,ROG玩家国度与蜘蛛侠共赴英雄新章
  • 智慧校园运维升级实战:IoT智能锁通断电联动+身份核验解决方案落地
  • 自动驾驶量产落地的11个关键节点与三大非热点机会
  • 5步快速掌握Godot逆向工程工具:资源提取与脚本反编译终极指南
  • 机器学习生产化落地:四层健康探针实战指南
  • 固定式与手持式RFID阅读器选型:工业RFID系统架构与部署分析
  • Kiran-Flameshot故障排除:常见问题解决方案大全
  • 2026最新云渲染农场排行榜:高效渲染平台怎么选?这份榜单值得收藏
  • 海洋石油平台防爆摄像机工况适配、防爆规范与环境防护技术方案
  • AI商业闭环打通资本开支持续,光互联迎黄金时代,投资可沿四条主线展开
  • Qwen3.5大模型微调入门实战(完整代码)
  • 国产开源图片大模型选型指南:中文对齐、低显存推理与商用落地
  • 红外积分球探测气体验证设备选型:300℃溶剂气化温度配制标气技术解析
  • AI工作站选型避坑指南:系统级性能瓶颈深度解析
  • 企业级AI接口统一调度平台排行:五家主流选手实测对比
  • 投资3000亿绑定OpenAI,甲骨文算力布局背后,客户违约风险引发华尔街焦虑!
  • AI 代码贡献激增,Godot 基金会修订贡献者政策严控 AI 使用
  • 新会上线!第三届大数据分析与人工智能应用国际学术会议(BDAIA 2026)
  • 告别龟速下载:用Python解析工具解锁百度网盘10倍下载速度
  • IPD咨询洞察:矩阵组织总变成“扯皮阵“,华为如何经历这个过程?
  • 程序员凌晨4点重写代码引热议:重写到底为了谁?
  • [特殊字符] C 语言避坑指南:为什么我的 strlen 算出的是 40 而不是 10?
  • 《列表和元组到底是有什么异同呢?》
  • SAP-ABAP:SAP QM 检验结果录入核心利器:BAPI_INSPOPER_RECORDRESULTS 完全指南
  • 如何利用软件计算流域面积(Global Mapeer)