我正在尝试使用 BFD 库,因此我已经安装了软件包binutils-dev
并包括:
#include <bfd.h>
并且正在从我的代码中调用bfd_openr
等等。bfd_close
最近我升级了软件包,现在我从这里收到一个错误:
bfd.h:
/* PR 14072: Ensure that config.h is included first. */
#if !defined PACKAGE && !defined PACKAGE_VERSION
#error config.h must be included before this header
#endif
...我应该包括config.h
- 但我没有使用 autoconf。
我是否包含错误的头文件?你应该如何使用 binutils-dev?
这是一个演示程序:
#include <stdio.h>
#include <bfd.h>
int main()
{
bfd_init();
bfd* file = bfd_openr("a.out", 0);
if (!file)
return -1;
if (bfd_check_format(file, bfd_object))
printf("object file\n");
else
printf("not object file\n");
bfd_close(file);
return 0;
}
尝试编译运行如下:
$ sudo apt-get install binutils-dev
$ gcc test.c
In file included from test.c:3:0:
/usr/include/bfd.h:37:2: error: #error config.h must be included before this header