/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
时间: 2023-07-11 20:00:30 浏览: 392
这似乎是一个编译错误,可能是由于链接器无法找到所需的库文件导致的。具体而言,它似乎正在编译一个名为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库。
相关问题
/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
这个错误是因为链接器找不到名为“main”的函数。这通常是因为缺少主函数而导致的。请检查您的代码,确保其中有一个名为“main”的函数,它是程序的入口点。如果您的代码中确实有一个名为“main”的函数,则可能是编译器或编译选项的问题。您可以尝试检查编译器选项,确保它们正确设置,以便正确地生成可执行文件。
mkdir -p build && cd build && cmake .. -- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is unknown -- Check for working C compiler: /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-gcc -- Check for working C compiler: /work/bsp/rk356x/buildroot/output/rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done CMake Error in CMakeLists.txt: No CMAKE_CXX_COMPILER could be found. Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as cmake_minimum_required(VERSION 3.10) should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP0000". This warning is for project developers. Use -Wno-dev to suppress it. -- Configuring incomplete, errors occurred! See also "/home/edu/workplace/yuenki/ykrecovery/build/CMakeFiles/CMakeOutput.log". See also "/home/edu/workplace/yuenki/ykrecovery/build/CMakeFiles/CMakeError.log". Makefile:7: recipe for target 'configure' failed make: *** [configure] Error 1
这是一个CMake的错误,它提示找不到C++编译器。建议你检查一下你的系统中是否安装了C++编译器,并确认它的路径是否正确。同时,你也可以通过设置环境变量CXX或者CMake缓存条目CMAKE_CXX_COMPILER来告诉CMake编译器的路径或者编译器名称。另外,CMakeLists.txt文件中还缺少cmake_minimum_required命令,你需要在文件的开头添加这个命令,以指定CMake的最低版本要求。
阅读全文