一. 安装bfd库
libbfd(Binary File Descriptor library是binutils中附带的一个C库。
从 http://ftp.gnu.org/gnu/binutils 下载binutils。
我们这里下载binutils-2.23.2.tar.gz
下载后,解压安装libbfd。方法如下:
tar -xzf binutils-2.23.2.tar.gz
cd binutils-2.23.2/bfd
./configure
make
make install
安装完成后,可以看到有如下文件生成。
/usr/local/include/bfd.h
/usr/local/lib/libbfd.a
二. 使用bfd库需要注意的地方
1. 头文件包含
程序使用bfd,需要包含bfd.h头文件。
但是,在包含bfd.h之前,还需要包含config.h。
即代码中需要有如下形式的文件包含:
#include "config.h"
#include
那么这个config.h是什么东东呢?他不是系统的头文件,也不是bfd库的头文件,而是应用程序自己的头文件。
然而用户可能会感到奇怪,我的应用程序源码中并不存在这个config.h文件。那是因为你开发应用时,没有采用GNU autotools。
采用GNU autotools的项目,在编译前一般都会执行一下configure脚本,生成Makefile及config.h文件。
那么,对于没有使用GNU autotools的应用,怎么解决呢?本文这里提供一个简单的config.h文件。
这个文件的内容,相当于是使用GNU autotools开发一个hello world项目而得到的config.h。
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by auto