Я новичок в программировании на Linux и пытаюсь использовать библиотеку BFD.Это текущий код, который я пытаюсь скомпилировать:
#include <bfd.h>
#include <stdlib.h>
bfd *abfd;
int main() {
bfd_init();
abfd = bfd_openr("/home/mike/Desktop/testFunc/testProg", NULL);
return 0;
}
Я использую следующую командную строку для компиляции:
gcc readInfo.c /usr/lib/libbfd.a -o readInfo
И получаю следующие ошибки:
gcc readInfo.c /usr/lib/libbfd.a -o readInfo /usr/lib/libbfd.a(elflink.o): в функции elf_link_add_object_symbols':
/build/buildd/binutils-2.21.53.20110810/builddir-single/bfd/../../bfd/elflink.c:4605:
undefined reference to
objalloc_free_block '/build/buildd/binutils-2.21.53.20110810 / builddir-single / bfd /../../ bfd / elflink.c: 4892: неопределенная ссылка на _sch_istable' /usr/lib/libbfd.a(elflink.o): In
function
bfd_elf_size_dynamic_sections ': /build/buildd/binutils-2.21.53.20110810/builddir-single/bfd/./../bfd/elflink.c:6048: неопределенная ссылка на lbasename'
undefined reference to
_sch_istable 'collect2: ld вернул 1 состояние выхода make: * [все] Ошибка 1
Есть намного больше строк ошибок, которые вы можете просмотреть здесь .Я уверен, что этому есть простое объяснение, но это на некоторое время поставило меня в тупик.
Подводя итог тому, что я сделал до сих пор:
- Установлена чистая сборка Ubuntu
- Установленный пакет binutils-dev