log4cxx ubuntu18.04

本文档详细介绍了如何在Linux系统上安装Apache的log4cxx库,首先需要安装其依赖apr和apr-util,然后按照顺序配置并编译安装这三个软件包。最后,将编译后的库添加到环境变量中以便使用。

log4cxx现在是apache的一个项目

log4cxx依赖于apache 的 apr 和 apr-util,所以安装顺序是: apr, apr-util, log4cxx。

1.软件包下载
apr: http://apr.apache.org/download.cgi
apr-util: http://apr.apache.org/download.cgi
log4cxx: http://logging.apache.org/log4cxx/download.html

2.安装apr
#tar xzvf apr-1.7.0.tar.gzapr-1.7.0.tar.gz
#cd apr-1.7.0
#./configure --prefix=/usr/local/apr
#make
#make install

3.安装apr-util
#tar xzvf apr-util-1.6.1.tar.gz
#cd apr-util-1.6.1 
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#make
#make install

4.安装log4cxx
#tar xzf apache-log4cxx-0.10.0.tar.gz
#cd apache-log4cxx-0.10.0


#./configure --prefix=/usr/local/log4cxx --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
#make
#make install

5.把编译后的库加载到环境变量中(实际使用和发布使用log4cx库需要其他更多的工作)
export LD_LIBRARY_PATH=/usr/local/apr/lib/:/usr/local/apr-util/lib/:/usr/local/log4cxx/lib/:$LD_LIBRARY_PATH

<think>我们正在处理一个关于在Ubuntu系统中降级PX4版本的问题。PX4是一个开源的飞行控制软件,常用于无人机。用户可能在使用过程中遇到了新版本的兼容性问题,或者需要特定版本的PX4进行开发或测试。 根据引用[1],我们看到有多个Ubuntu版本(如gutsy, hardy, intrepid等),但用户没有具体说明使用的是哪个Ubuntu版本。不过,PX4通常支持较新的Ubuntu LTS版本,如18.04, 20.04, 22.04等。因此,我们需要一个通用的方法,或者需要用户明确Ubuntu版本。 降级PX4通常有两种情况: 1. 降级PX4的固件版本(即刷写到飞控板上的固件)。 2. 降级PX4开发环境(即在地面站计算机上运行的PX4代码,包括仿真等)。 由于问题没有明确,我们将分别讨论两种情况。 ### 情况1:降级PX4固件版本 如果用户想要给飞控板刷写旧版本的固件,可以通过QGroundControl地面站软件进行。 步骤: 1. 打开QGroundControl。 2. 连接飞控板。 3. 进入“设置”->“固件”。 4. 在固件设置界面,QGroundControl通常会检测最新版本并提示升级。但这里我们可以选择“高级设置”或类似选项,然后指定自定义固件文件(.px4文件)。 5. 用户需要先下载所需旧版本的固件文件(可以从PX4的GitHub发布页面获取:https://github.com/PX4/PX4-Autopilot/releases)。 6. 然后选择本地文件进行刷写。 ### 情况2:降级PX4开发环境(源代码) 如果用户是在Ubuntu上通过源代码编译PX4,那么降级就是切换到源代码的特定标签(tag)或提交(commit)。 步骤: 1. 进入PX4源代码目录(假设已经克隆了PX4-Autopilot仓库)。 2. 使用git命令切换到特定版本。首先,获取远程的所有标签和分支: ```bash git fetch --all --tags ``` 3. 查看可用的版本(标签): ```bash git tag ``` 4. 或者,如果知道具体的版本号(如v1.13.0),则直接切换: ```bash git checkout v1.13.0 # 将v1.13.0替换为所需的版本 ``` 5. 如果版本不是以标签形式发布,而是某个提交,则使用提交哈希值: ```bash git checkout <commit-hash> ``` 6. 切换后,更新子模块(重要): ```bash git submodule update --init --recursive ``` 7. 然后按照正常步骤编译: ```bash make px4_sitl jmavsim # 例如,使用jmavsim仿真 ``` 注意:不同版本的PX4可能对Ubuntu系统的依赖库有不同要求,降级后可能需要调整系统环境(如安装特定版本的依赖库)。 如果用户之前没有克隆仓库,则需要先克隆: ```bash git clone https://github.com/PX4/PX4-Autopilot.git cd PX4-Autopilot ``` 另外,PX4官方推荐使用脚本安装开发环境,但降级不需要重新安装整个环境,只需要切换代码版本即可。 但是,请注意:切换版本后,由于依赖关系的变化,可能需要重新安装一些依赖。PX4提供了一个脚本来安装依赖,但要注意该脚本可能会安装最新版本所需的依赖,而旧版本可能需要旧依赖。因此,降级后如果编译出错,可能需要查看该版本对应的文档,安装正确的依赖。 例如,在PX4的仓库中,每个版本对应的文档可以在GitHub上查看,或者查看代码目录中的`README.md`或`/Tools/setup`下的脚本。 ### 补充:使用PX4官方提供的二进制文件 除了从源代码编译,PX4也提供了一些预编译的二进制文件,用户可以直接下载使用。但通常用于固件,而不是开发环境。 ### 注意事项 - 在降级前,建议备份当前的工作,因为切换版本可能会导致代码更改。 - 如果用户使用的是PX4的发行版(如通过apt安装),那么降级可能需要卸载当前版本并安装特定版本。但通常PX4不通过Ubuntu仓库分发,所以这种情况较少。 由于用户问题中未明确是固件降级还是开发环境降级,我们可以给出两种情况的说明,并建议用户根据实际需求选择。 根据引用[2]和[3],它们似乎与GPU切换和InfluxDB安装有关,与PX4降级无关,因此这里不参考。 因此,回答如下:</think>### 如何在 Ubuntu 系统中降级 PX4 版本 降级 PX4 版本的核心是**切换 Git 仓库到特定标签或提交**,以下是详细步骤: #### 1. **定位目标版本** - 查看可用版本列表: ```bash cd ~/PX4-Autopilot git tag -l # 列出所有正式版本(如 v1.14.0) git log --oneline # 查看提交历史(用于非正式版本) ``` - 从 [PX4 GitHub Release](https://github.com/PX4/PX4-Autopilot/releases) 查找目标版本号(如 `v1.13.2`) #### 2. **切换版本** ```bash git fetch --all --tags # 同步远程仓库信息 git checkout <TAG_OR_COMMIT> # 例如:git checkout v1.13.2 ``` #### 3. **更新子模块** ```bash git submodule update --init --recursive ``` #### 4. **重新编译** ```bash make distclean # 清除旧版本编译缓存 make px4_sitl jmavsim # 示例:编译仿真环境 ``` > **注意**:旧版本可能需要特定依赖,若编译报错,需根据提示安装对应依赖库[^1]。 #### 5. **验证版本** ```bash ./build/px4_sitl_default/bin/px4 --version # 查看当前版本 ``` --- ### 关键注意事项 1. **依赖兼容性** 较旧版本(如 v1.11 之前)可能需要 `gcc-9` 等特定工具链,可通过: ```bash sudo apt install gcc-9 g++-9 export CC=gcc-9 CXX=g++-9 # 临时指定编译器 ``` 2. **固件降级** 若需给飞控刷写旧固件: - 在 QGroundControl 中: *设置 > 固件 > 高级设置 > 自定义固件文件*,加载本地 `.px4` 文件[^2]。 3. **环境隔离建议** 使用 Docker 避免系统污染: ```bash docker run --rm -it px4io/px4-dev-ros2:v1.13.2 bash ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值