Как исправить ошибку линковки C++: undefined reference to symbol 'crc32'

Проблема:

При попытке компиляции вашей программы на C++ на этапе линковки вы видите сообщение об ошибке, например

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

Решение

Символ crc32 определён в zlib. Следовательно, вам нужно линковать zlib, добавив

linker_flags.txt
-lz

к вашим флагам линковщика. Если вы не знаете, где находятся ваши флаги линковщика, попробуйте просто добавить их к вашим флагам компилятора.


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