首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到BFD库

找不到BFD库
EN

Stack Overflow用户
提问于 2020-07-20 01:28:26
回答 1查看 687关注 0票数 0

我试图在Ubuntu上使用libbfd,并安装了bin utils:

代码语言:javascript
复制
Reading state information... Done
binutils-dev is already the newest version (2.26.1-1ubuntu1~16.04.8).
0 upgraded, 0 newly installed, 0 to remove and 147 not upgraded.
root@server:~/Documents/Exercicios/BinaryLoader# 

但是当我试图用

代码语言:javascript
复制
g++ -D_GLIBCXX_USE_CXX11_ABI=0 loader.cc

我得到了

loader.cc:(.text+0x4c):对bfd_get_error loader.cc的未定义引用:(.text+0x53):对bfd_errmsg的未定义引用

我的loader.cc文件看起来如下:

代码语言:javascript
复制
#include <bfd.h>
#include <stdio.h>
#include "loader.h"
#include <stdlib.h>

static int load_symbols_bfd(bfd *bfd_h, Binary *bin)
{
    int ret;
    long n, nsyms, i;
    asymbol **bfd_symtab;
    Symbol *sym;

    bfd_symtab = NULL;

    n = bfd_get_symtab_upper_bound(bfd_h);
    if (n < 0) {
       fprintf(stderr, "failed to read symtab (%s)\n",
               bfd_errmsg(bfd_get_error()));
       ...
    }
    ...
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-20 01:56:25

g++ -D_GLIBCXX_USE_CXX11_ABI=0 loader.cc

您没有告诉g++‘libbfd',所以在'link’阶段,它找不到libbfd提供的功能。

我想你需要g++ -D_GLIBCXX_USE_CXX11_ABI=0 -lbfd loader.cc

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62987448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档