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

linux 下第三方库编译及交叉编译——MDBTOOLS--arm-64

 1 相关依赖

gettext

2 下载、解压

wget https://github.com/mdbtools/mdbtools/archive/refs/tags/v1.0.0.tar.gz
tar -xvf v1.0.0.tar.gz

2.2 生成Makefile

2.2.1 解决问题

# 设置交叉编译链路径(替换为你的实际路径)
export CROSS_COMPILE_PATH="/home/nanqiu/Desktop/work/huawei_edge_app/buildTouchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin"# 将交叉编译链添加到系统 PATH(确保能找到编译器)
export PATH="$CROSS_COMPILE_PATH:$PATH"# 指定默认编译器为交叉编译链的 gcc(ARM 架构)
export CC="$CROSS_COMPILE_PATH/aarch64-linux-gnu-gcc"# 指定默认链接器(可选,部分项目需要)
export LD="$CROSS_COMPILE_PATH/aarch64-linux-gnu-ld"
# 重建 m4 目录
mkdir -p m4# 复制 gettext 中的所有宏文件到项目 m4 目录(确保宏文件完整)
cp /home/nanqiu/Desktop/lib/gettext/gettext-0.20.1/my_build_x86/share/aclocal/*.m4 ./m4/
nano m4/ac_lib.m4
写入
AC_DEFUN([AC_LIB_PREPARE_PREFIX],
[AC_ARG_WITH([libdir],AS_HELP_STRING([--with-libdir=DIR], [install library files in DIR [[PREFIX/lib]]]),[libdir=$withval], [libdir='${exec_prefix}/lib'])AC_SUBST(libdir)
])AC_DEFUN([AC_LIB_RPATH],
[AC_ARG_ENABLE([rpath],AS_HELP_STRING([--disable-rpath], [do not hardcode runtime library paths]),[enable_rpath=$enableval], [enable_rpath=yes])if test "x$enable_rpath" = "xyes"; thenRPATH_FLAGS="-Wl,-rpath,$libdir"elseRPATH_FLAGS=""fiAC_SUBST(RPATH_FLAGS)
])AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
[AC_REQUIRE([AC_LIB_PREPARE_PREFIX])LDFLAGS="$LDFLAGS -L$libdir $RPATH_FLAGS"
])AC_DEFUN([AC_LIB_APPENDTOVAR],
[eval "$1=\"\$$1 $2\""
])
# 确保 build-aux 目录存在
mkdir -p build-aux# 从你的 gettext 编译目录复制 config.rpath 文件
cp /home/nanqiu/Desktop/lib/gettext/gettext-0.20.1/my_build_x86/share/gettext/config.rpath ./build-aux/

2.2.2

sudo apt update && sudo apt install autoconf-archive
# 清理缓存并重新生成
rm -rf autom4te.cache/
autoreconf -i -f -v -I ./m4

2.2.3

./configure \--disable-glib \--with-unixodbc=/home/nanqiu/Desktop/lib/obdc/unixODBC-2.3.7/arm64 \--prefix=$(pwd)/mybuild \--host=aarch64-linux-gnu \--build=x86_64-pc-linux-gnu \LDFLAGS="-L/home/nanqiu/Desktop/lib/obdc/unixODBC-2.3.7/arm64/lib" \CPPFLAGS="-I/home/nanqiu/Desktop/lib/obdc/unixODBC-2.3.7/arm64/include"

2.3 编译

make LDFLAGS="-L/home/nanqiu/Desktop/lib/obdc/unixODBC-2.3.7/arm64/lib -Wl,-rpath-link=/home/nanqiu/Desktop/lib/obdc/unixODBC-2.3.7/arm64/lib"

2.4 安装

结果在

http://www.lryc.cn/news/620500.html

相关文章:

  • uni-app 小程序跳转小程序
  • 《多级缓存架构设计与实现全解析》
  • Canon PowerShot D30相机 CHDK 固件 V1.4.1
  • 将 pdf 转为高清 jpg
  • uni-app实战教程 从0到1开发 画图软件 (橡皮擦)
  • PDF压缩原理详解:如何在不失真的前提下减小文件体积?
  • 高分辨率PDF压缩技巧:保留可读性的最小体积方案
  • 深入理解 RAG:检索增强生成技术详解
  • Hadoop面试题及详细答案 110题 (01-15)-- 基础概念与架构
  • gitlab仓库如何进行多人协作
  • 无人机探测器技术解析
  • GITLAB的Personal Access Tokens 和Project Access Tokens有什么区别
  • 走遍美国 10 Smell the Flowers 偷得浮生半日闲
  • 使用HalconDotNet实现异步多相机采集与实时处理
  • Java基础 8.14
  • 哈希表特性与unordered_map/unordered_set实现分析
  • 【159页PPT】智慧方案企业数字化转型流程体系建设与运营方案(附下载方式)
  • 群晖 NAS 影音访问:通过 cpolar 内网穿透服务实现 Nastool 远程管理
  • openvsx搭建私有插件仓库
  • Elasticsearch RBAC 配置:打造多租户环境的安全访问控制
  • Cherryusb UAC例程对接STM32 SAI播放音乐和录音(上)=>SAI+TX+RX+DMA的配置与音频回环测试
  • 深入详解C语言数组:承上启下——从C语言数组基础到数据结构衔接
  • 抓取系统升级,是优化还是重构更合适?
  • CSS aspect-ratio 属性
  • RTC时钟倒计时数码管同步显示实现(STC8)
  • 【基于个人博客系统】---测试报告
  • 当GitHub宕机时,我们如何协作?
  • GO学习记录五——数据库表的增删改查
  • 手写MyBatis第16弹:泛型魔法应用:MyBatis如何破解List的运行时类型
  • C++ 应用场景全景解析:从系统级到AI的跨越式演进