本文共 603 字,大约阅读时间需要 2 分钟。
在编译bsdiff时,遇到如下错误:
fatal error: bzlib.h: No such file or directory
发现缺少 bzlib.h 头文件,原因是系统没有安装libbz2库
在ubuntu下最简单的方法是使用apt命令安装
sudo apt-get install libbz2-dev
但是我使用的账户没有安装权限,只能自己手动编译
下面是具体步骤:
下载地址:
当前bzip2最新的版本时1.0.6,下载完成后首先解压源码包
tar -xzvf bzip2-1.0.6.tar.gz
将其中的bzlib.h头文件复制进/usr/include或者自定义的include路径
比如我因为没有安装权限,所以直接放置在当前路径#include
改为
#include "bzlib.h"
这时候还要编译动态库,否则报错:
/usr/bin/ld: cannot find -lbz2
进入解压后的目录:
cd bzip2-1.0.6
配置编译为动态库:
make -f Makefile-libbz2_so
编译&&安装:
make && make install
实际上还是因为没有安装权限,我最终编译出来的库是使用gcc的-L参数才完成bsdiff编译的,这里不做细表。
转载地址:http://uavci.baihongyu.com/