Wie man den C++-Linking-Fehler behebt: undefined reference to symbol 'crc32'

Problem:

Beim Versuch, Ihr C++-Programm zu kompilieren, sehen Sie während der Linking-Phase eine Fehlermeldung wie

error.txt
/bin/ld: minio-cpp/src/utils.o: undefined reference to symbol 'crc32'
/bin/ld: /lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

Lösung

Das crc32-Symbol ist in zlib definiert. Daher müssen Sie zlib linken, indem Sie

linker_flags.txt
-lz

zu Ihren Linker-Flags hinzufügen. Wenn Sie nicht wissen, wo sich Ihre Linker-Flags befinden, versuchen Sie einfach, es zu Ihren Compiler-Flags hinzuzufügen.


Check out similar posts by category: C/C++, GCC Errors