C++-Fehler "undefined reference to `zlibVersion'" beheben
English
Deutsch
Problem:
Beim Kompilieren der C++-Anwendung erscheinen eine oder mehrere der folgenden Fehlermeldungen (vollständiges Fehlermeldungs-Log-Beispiel unten)
zlib_undefined_references.txt
version.c:(.text+0x5d): undefined reference to `zlibVersion'
content_encoding.c:(.text+0x1f8): undefined reference to `inflateInit_'
content_encoding.c:(.text+0x2b5): undefined reference to `inflateEnd'
/usr/bin/ld: content_encoding.c:(.text+0x401): undefined reference to `inflateInit2_'Lösung
zlib muss mit der ausführbaren Datei verlinkt werden – die zu verlinkende Bibliothek heißt z (libz.so). Bei manueller Ausführung von gcc die Option -lz verwenden, zum Beispiel:
gcc_link_zlib.sh
gcc -o myexe main.cpp -lzBei Verwendung von CMake:
CMakeLists.txt
add_executable(myexe main.cpp)
target_link_libraries(myexe z)Vollständiges Fehler-Log-Beispiel:
ld_error_zlib.txt
/usr/bin/ld: /home/uli/.conan/data/libcurl/7.69.1/_/_/package/d66c87f35a2a176e10af56a7f32a51d6e7b43e26/lib/libcurl.a(libcurl_la-version.o): in function `curl_version':
version.c:(.text+0x5d): undefined reference to `zlibVersion'
/usr/bin/ld: /home/uli/.conan/data/libcurl/7.69.1/_/_/package/d66c87f35a2a176e10af56a7f32a51d6e7b43e26/lib/libcurl.a(libcurl_la-version.o): in function `curl_version_info':
version.c:(.text+0x169): undefined reference to `zlibVersion'
/usr/bin/ld: /home/uli/.conan/data/libcurl/7.69.1/_/_/package/d66c87f35a2a176e10af56a7f32a51d6e7b43e26/lib/libcurl.a(libcurl_la-content_encoding.o): in function `deflate_init_writer':
content_encoding.c:(.text+0x1f8): undefined reference to `inflateInit_'
... (truncated)Check out similar posts by category:
C/C++, GCC Errors
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow