Jak opravit C++ linking error: undefined reference to symbol 'crc32'

Problém:

Při pokusu o kompilaci vašeho C++ programu, během linking stage, vidíte chybovou zprávu jako

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

Řešení

crc32 symbol je definován v zlib. Proto, musíte linkovat zlib přidáním

linker_flags.txt
-lz

k vašim linker flags. Pokud nevíte, kde jsou vaše linker flags, zkuste je prostě přidat k vašim compiler flags.


Podívejte se na podobné články podle kategorie: C/C++ GCC Errors