gpt4 book ai didi

c - 无法链接到 BFD

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:54 25 4
gpt4 key购买 nike

<分区>

我正在尝试将此文件包含在我的项目中:http://cairo.sourcearchive.com/documentation/1.9.4/backtrace-symbols_8c-source.html

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

无论我尝试过什么,我都会收到以下错误:

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 文件(因为记录器是我打算使用它来打印跟踪的地方)。然后我将这两个目标文件链接到一个组合目标文件中:

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)

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

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)

我真的不确定我需要做什么才能让它正确链接。有什么我想念的吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com