Я пытаюсь использовать библиотеку 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