【Linux 第三方库】linux 交叉编译dbus,expat

简介: 【Linux 第三方库】linux 交叉编译dbus,expat


本文使用的交叉编译器

arm-himix200-linux

dubs官方介绍:

The low-level libdbus reference library has no required dependencies;
the reference bus daemon’s only required dependency is an XML parser (expat).
Higher-level bindings specific to particular frameworks (Qt, GLib, Java, C#, Python, etc.) add more dependencies, but can make more assumptions and are thus much simpler to use.
The bindings evolve separately from the low-level libdbus, so some are more mature and ABI-stable than others;


低级 libdbus 参考库没有必需的依赖项;
参考总线守护程序唯一需要的依赖项是 XML 解析器 (expat)。
特定于特定框架(Qt、GLib、Java、C#、Python 等)的高级绑定添加了更多依赖项,但可以做出更多假设,因此使用起来更加简单。
绑定与低级 libdbus 分开发展,因此有些比其他的更成熟和 ABI 稳定


所以先安装expat库

1.expat库

expat-2.2.9.tar.bz2

./configure --without-tests --without-examples \
--prefix=/opt/hisi-linux/x86-arm/lib/expat \
--host=arm-himix200-linux \
CC=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc \
CXX=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++
make 
make install

安装完expat后,在安装目录里将/opt/hisi-linux/x86-arm/lib/expat/lib/pkgconfig中的expat.pc
拷贝到PKG_CONFIG_PATH所指定的目录里,否则安装dbus时会提示找不到expat.


2.dbus库

dbus-1.13.12.tar.xz

./configure --disable-doxygen-docs --disable-xml-doc \
--prefix=/opt/hisi-linux/x86-arm/lib/dbus \ 
--host=arm-himix200-linux \
CC=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc \
CXX=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++ \
CFLAGS=-I/opt/hisi-linux/x86-arm/lib/expat/include \
LDFLAGS=-L/opt/hisi-linux/x86-arm/lib/expat/lib \
LIBS=-lexpat 
make
make install 

安装完dbus后,也将安装目录里将/opt/hisi-linux/x86-arm/lib/dbus/lib/pkgconfig
中的dbus-1.pc拷贝到PKG_CONFIG_PATH所指定的目录里.
到这里,就算安装成功了.

结语

在我们的编程学习之旅中,理解是我们迈向更高层次的重要一步。然而,掌握新技能、新理念,始终需要时间和坚持。从心理学的角度看,学习往往伴随着不断的试错和调整,这就像是我们的大脑在逐渐优化其解决问题的“算法”。

这就是为什么当我们遇到错误,我们应该将其视为学习和进步的机会,而不仅仅是困扰。通过理解和解决这些问题,我们不仅可以修复当前的代码,更可以提升我们的编程能力,防止在未来的项目中犯相同的错误。

我鼓励大家积极参与进来,不断提升自己的编程技术。无论你是初学者还是有经验的开发者,我希望我的博客能对你的学习之路有所帮助。如果你觉得这篇文章有用,不妨点击收藏,或者留下你的评论分享你的见解和经验,也欢迎你对我博客的内容提出建议和问题。每一次的点赞、评论、分享和关注都是对我的最大支持,也是对我持续分享和创作的动力。

目录
相关文章
|
4月前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
172 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
4月前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
312 9
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
3月前
|
Linux
Linux交叉编译+粤嵌LCD实现三色图
Linux交叉编译+粤嵌LCD实现三色图
51 0
|
26天前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
|
1月前
|
Linux Python
Linux离线安装Python第三方库Requests
本文介绍了在无法连接外网的Linux服务器上离线安装Python第三方库Requests的过程,包括下载依赖包、解决依赖问题并成功安装的步骤。
93 0
|
4月前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
85 3
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
3月前
|
Rust Linux iOS开发
Rust 交叉编译 macOS 为 Linux 和 Windows
Rust 交叉编译 macOS 为 Linux 和 Windows
183 0
|
3月前
|
Linux 编译器 C语言
编译Linux内核:基础、重要性和交叉编译方法
Linux内核作为操作系统的心脏,负责管理计算机的硬件资源,同时也是运行所有其他程序的基础。理解如何编译Linux内核对于系统管理员、开发者乃至高级用户来说都是一项极其宝贵的技能。本文将介绍编译Linux内核的基本知识、编译的重要性、具体步骤以及交叉编译的概念。
303 0
|
3月前
|
XML Ubuntu Linux
探索Linux中的`busctl`命令:DBus的瑞士军刀
`busctl`是Linux下管理DBus消息总线的命令行工具,用于查看、监听和控制DBus服务。
|
4月前
|
JSON Ubuntu Linux
LuaJit交叉编译移植到ARM Linux
LuaJit交叉编译移植到ARM Linux
99 1