首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法链接到BFD

无法链接到BFD
EN

Stack Overflow用户
提问于 2014-01-04 01:22:39
回答 1查看 2.3K关注 0票数 1

我正在尝试将这个文件包含在我的项目中:8c-source.html

但是它需要连接到BFD。我同时安装了binutilsbinutils-devel。我尝试过用-lbfd链接,以及直接链接到/usr/lib64/libbfd.so/usr/lib64/libbfd.a (这两者都存在)。我还尝试搜索pkg-config,以确定是否应该使用不同的标志,但是在pkg-config中没有引用BFD或binutils

无论我尝试了什么,我都会犯以下错误:

代码语言:javascript
复制
undefined reference to 'bfd_init'
undefined reference to 'bfd_openr'
undefined reference to 'bfd_check_format'
undefined reference to 'bfd_checkformat_matches'
undefined reference to 'bfd_close'
undefined reference to 'bfd_map_over_sections'

首先,我正在编译我的记录器和链接到上面的backtrace-symbols.c文件(因为记录器是我打算用来打印跟踪的地方)。然后我将这两个对象文件链接到一个合并的对象文件中:

代码语言:javascript
复制
CC = clang
CFLAGS = -g -Wall -c
SOURCE = simplog.c
OBJ = simplog.o, simplog-temp.o, backtrace-symbols.o

all:
    $(CC) $(CFLAGS) $(SOURCE); mv simplog.o simplog-temp.o; \
    $(CC) -ansi $(CFLAGS) backtrace-symbols.c; \
    ld -r simplog-temp.o backtrace-symbols.o -o simplog.o

clean:
    rm -f $(OBJ) 

然后我将这个对象文件链接到我的主要项目中:

代码语言:javascript
复制
CC= clang++
PROG= ./bin/chiplus8
OBJS= ./src/main.o ./src/Chip8.o ./src/EmuCPU.o ./src/SimpleLogger/simplog.o
LIBS= 
CXXFLAGS= -g -Wall -std=c++11 $(shell pkg-config --cflags ${LIBS})
LDFLAGS= $(shell pkg-config --static --libs ${LIBS})

all: logger $(PROG)

$(PROG): $(OBJS)
    mkdir -p ./bin/
    $(CC) -g -rdynamic -o $(PROG) $(LDFLAGS) -lbfd -liberty $(OBJS)
    rm -f $(OBJS)

logger:
    cd ./src/SimpleLogger; make clean all

clean:
    rm -f $(PROG) $(OBJS)

我真的不知道我需要做什么才能让这个链接正常。我遗漏了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-04 02:00:01

更改:

代码语言:javascript
复制
$(PROG): $(OBJS)
    mkdir -p ./bin/
    $(CC) -g -rdynamic -o $(PROG) $(LDFLAGS) -lbfd -liberty $(OBJS)
    rm -f $(OBJS)

对此:

代码语言:javascript
复制
$(PROG): $(OBJS)
    mkdir -p ./bin/
    $(CC) -g -rdynamic -o $(PROG) $(LDFLAGS) $(OBJS) -lbfd -liberty
    rm -f $(OBJS)

必须使用编译命令将对象文件放在库之前。见this question

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

https://stackoverflow.com/questions/20915623

复制
相关文章

相似问题

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