/work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/../lib64/crt1.o: in function `_start': static-reloc.c:(.text+0x18): undefined reference to `main' /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: static-reloc.c:(.text+0x1c): undefined reference to `main' /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: static-reloc.c:(.text+0x20): undefined reference to `main' /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: static-reloc.c:(.text+0x24): undefined reference to `main' collect2: error: ld returned 1 exit status Makefile:236: recipe for target 'quazip' failed make: *** [quazip] Error 1
时间: 2023-07-11 15:00:30 浏览: 83
这个错误是因为链接器找不到名为“main”的函数。这通常是因为缺少主函数而导致的。请检查您的代码,确保其中有一个名为“main”的函数,它是程序的入口点。如果您的代码中确实有一个名为“main”的函数,则可能是编译器或编译选项的问题。您可以尝试检查编译器选项,确保它们正确设置,以便正确地生成可执行文件。
相关问题
/work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-g++ --sysroot=/work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot -Wl,-O1 -o quazip JlCompress.o qioapi.o quaadler32.o quachecksum32.o quacrc32.o quagzipfile.o quaziodevice.o quazip.o quazipdir.o quazipfile.o quazipfileinfo.o quazipnewinfo.o unzip.o zip.o moc_quagzipfile.o moc_quaziodevice.o moc_quazipfile.o -latomic /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libQt5Gui.so /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libQt5Core.so -L/work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib -lmali -lGLESv2 -ldrm -lwayland-client -lwayland-server -lpthread -lrt -lpthread -ldl /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: quaziodevice.o: undefined reference to symbol 'inflateEnd' /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib64/libz.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:236: recipe for target 'quazip' failed make: *** [quazip] Error 1
这似乎是一个编译错误,可能是由于链接器无法找到所需的库文件导致的。具体而言,它似乎正在编译一个名为quazip的程序,但在链接过程中出现了未定义的符号'inflateEnd',该符号应该来自zlib库。它还显示链接器无法在命令行中找到DSO(动态共享对象)/work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib64/libz.so.1 。为了解决这个问题,您需要确保zlib库已正确安装,并在编译时将其链接到程序中。您可能需要在Makefile中添加-lz选项来链接zlib库。
make[1]: Circular /home/tronlong/wkspace/rk3568/sdk/rk356x_linux_release_v1.3.1_20221120/buildroot/output/rockchip_rk3568/build/fbset-2.1/.stamp_configured <- busybox dependency dropped.
这个错误提示表明在构建过程中发生了循环依赖的错误。其中,/home/tronlong/wkspace/rk3568/sdk/rk356x_linux_release_v1.3.1_20221120/buildroot/output/rockchip_rk3568/build/fbset-2.1/.stamp_configured 是一个中间文件,它依赖于 busybox,但是在构建过程中,busybox 的依赖被删除了,导致 fbset-2.1 无法正确构建。这个问题需要进一步排查,找出循环依赖的原因并解决。