weixin_47688342 2024-12-25 21:29 采纳率: 10%
浏览 125

vitis编译报错(疑似链接报错)

vitis编译报如下错误,没找到解决办法(疑似链接错误),有知道的老哥么,报错如下:
'Building target: test.elf'
'Invoking: ARM v7 Linux g++ linker'
arm-linux-gnueabihf-g++ -LH:/yolo4_tiny/bccstan/accstan/export/accstan/sw/accstan/standalone_domain/bsplib/lib -LH:/yolo4_tiny/bccstan/accstan/export/accstan/sw/accstan/standalone_domain/bsplib/lib -o "test.elf" ./src/basic_op.o ./src/debug.o ./src/main.o ./src/sd_io.o -l-Wl,--start-group,-lxil,-lgcc,-lc,-lstdc++,--end-group -Wl,--start-group,-lxil,-lgcc,-lc,-lstdc++,--end-group -Wl,--start-group,-lxilffs,-lxil,-lgcc,-lc,--end-group
e:/program/vivado/vitis/2020.2/gnu/aarch32/nt/gcc-arm-linux-gnueabi/x86_64-petalinux-mingw32/usr/bin/arm-xilinx-linux-gnueabi/../../libexec/arm-xilinx-linux-gnueabi/gcc/arm-xilinx-linux-gnueabi/9.2.0/real-ld.exe: cannot find -l-Wl,--start-group,-lxil,-lgcc,-lc,-lstdc++,--end-group
collect2.exe: error: ld returned 1 exit status
make[1]: *** [makefile:52: test.elf] Error 1
make: *** [makefile:43: all] Error 2

  • 写回答

2条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    这个错误是链接阶段出现的错误,表明编译器在链接过程中找不到某些指定的库。具体来说,错误信息中的 real-ld.exe: cannot find -l-Wl,--start-group,-lxil,-lgcc,-lc,-lstdc++,--end-group 表示链接器无法找到由 -l 参数指定的库。这里看起来像是一些库没有被正确地指定路径或者不存在于你的系统中。

    解决这个问题的方法可能有以下几种:

    1. 检查库文件是否存在:确保 -lxil, -lgcc, -lc, -lstdc++ 这些库在你的系统上是存在的。这些库应该在你的系统的标准库路径下,或者你已经通过 -L 参数指定了它们的路径。你可以使用 ls 命令(在 Linux 系统上)或 dir 命令(在 Windows 系统上)来检查这些库文件是否真的存在。
    2. 检查库的路径是否正确:确保你通过 -L 参数指定的路径是正确的。在你的错误信息中,路径看起来像是 "H:/yolo4_tiny/bccstan/accstan/export/accstan/sw/accstan/standalone_domain/bsplib/lib",你需要确认这个路径是否正确,并且包含了你需要的库文件。
    3. 检查 Makefile 或编译命令:你的 Makefile 或编译命令可能存在一些问题,导致链接器无法正确地找到库文件。你需要检查这些文件中的设置,确保它们正确地指定了库文件的路径和名称。
    4. 使用绝对路径:尝试使用库文件的绝对路径来编译,而不是相对路径。有时候相对路径可能会导致问题,因为编译器可能无法正确地解析它们。

    如果以上方法都无法解决问题,你可能需要更详细地检查你的项目设置和编译环境,或者查阅相关文档以获取更多帮助。你也可以尝试在开发者社区或论坛上提问,寻求其他开发者的帮助。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月25日