c - Xilinx Eclipse SDK 中对“函数”的未定义引用
问题描述
我面对
未定义的“函数”引用
在我的 C 代码中使用 Xilinx Eclipse SDK。但是,功能已经构建!事实上,我发现了一个[已解决]类似的问题,但我无法将解决方案反映到我的案例中。
这是我的控制台输出:
13:40:08 **** Incremental Build of configuration Debug for project FH_TX_2 ****
make all
'Building target: FH_TX_2.elf'
'Invoking: MicroBlaze gcc linker'
mb-gcc -L"D:\Users\dell\Vivado_projects\FHSS_Transmitter_2\FHSS_Transmitter_2.sdk\FH_TX_2_bsp\microblaze_0\libsrc" -Wl,-T -Wl,../src/lscript.ld -L"D:\Users\dell\Vivado_projects\FHSS_Transmitter_2\FHSS_Transmitter_2.sdk\FH_TX_2_bsp\microblaze_0\lib" -mlittle-endian -mcpu=v10.0 -mxl-soft-mul -Wl,--no-relax -Wl,--gc-sections -o "FH_TX_2.elf" ./src/testperiph.o ./src/xiomodule_selftest_example.o -Wl,--start-group,-lxil,-lgcc,-lc,--end-group
./src/testperiph.o: In function `main':
D:\Users\dell\Vivado_projects\FHSS_Transmitter_2\FHSS_Transmitter_2.sdk\FH_TX_2\Debug/../src/testperiph.c:71: undefined reference to `DA3_WriteSPI'
collect2.exe: error: ld returned 1 exit status
make: *** [FH_TX_2.elf] Error 1
13:40:08 Build Finished (took 726ms)
生成文件:
COMPILER=
ARCHIVER=
CP=cp
COMPILER_FLAGS=
EXTRA_COMPILER_FLAGS=
LIB=libxil.a
RELEASEDIR=../../../lib
INCLUDEDIR=../../../include
INCLUDES=-I./. -I${INCLUDEDIR}
INCLUDEFILES=*.h
LIBSOURCES=*.c
OUTS = *.o
libs:
echo "Compiling PmodDA3..."
$(COMPILER) $(COMPILER_FLAGS) $(EXTRA_COMPILER_FLAGS) $(INCLUDES) $(LIBSOURCES)
$(ARCHIVER) -r ${RELEASEDIR}/${LIB} ${OUTS}
make clean
include:
${CP} $(INCLUDEFILES) $(INCLUDEDIR)
clean:
rm -rf ${OUTS}
# Makefile generated by Xilinx.
PROCESSOR = microblaze_0
LIBRARIES = ${PROCESSOR}/lib/libxil.a
BSP_MAKEFILES := $(wildcard $(PROCESSOR)/libsrc/*/src/Makefile)
SUBDIRS := $(patsubst %/Makefile, %, $(BSP_MAKEFILES))
ifneq (,$(findstring win,$(RDI_PLATFORM)))
SHELL = CMD
endif
all: libs
@echo 'Finished building libraries'
include: $(addsuffix /make.include,$(SUBDIRS))
libs: $(addsuffix /make.libs,$(SUBDIRS))
clean: $(addsuffix /make.clean,$(SUBDIRS))
$(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
cp -f $< $@
%/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
@echo "Running Make include in $(subst /make.include,,$@)"
$(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall -Wextra"
%/make.libs: include
@echo "Running Make libs in $(subst /make.libs,,$@)"
$(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-ffunction-sections -fdata-sections -Wall -Wextra"
%/make.clean:
$(MAKE) -C $(subst /make.clean,,$@) -s clean
clean:
rm -f ${PROCESSOR}/lib/libxil.a
PmodDA3.h 库路径
libxil.a
工作窗口
PmodDA3.c
.o 文件生成
解决方案
推荐阅读
- php - 带有通知的空 XML 节点:尝试获取非对象的属性“ref”
- r - 在 R 的 for 循环中粘贴0
- python - 如何设置我的路径,以便它与作为包本地安装的 Python 代码一起使用
- c++ - 如何从 ASCII 转换为 INT
- typescript - Typescript:如何通过泛型参数的属性和附加类型来限制属性选择?
- amazon-web-services - Terraform for_each - each.key 在哪里定义?
- php - 检索具有特殊字符的记录时 JSON 失败
- flutter - GetX Get.ToNamed 在孩子内部不起作用
- nfc - 在 JavaCard 上激活小程序
- java - 如何在我的 Recycler Views Adapter 中获得最大浮点值?