zlib crc32

  • Hallo,

    Ich möchte mit einem Microcontroller STM32F4 über UART kommunizieren, was bereits funktioniert. Jetzt soll noch eine CRC checksumme mitgeschickt werden. Der STM32 benutzt einen CRC "Code" (hardwareseitig), der mit dem Code des zlib Pakets kompatibel ist. Daher möchte ich gerne den crc32 Befehl aus dem zlib Paket benutzen.

    Beim kompilieren bekomme ich dann aber leider folgenden Fehler:


    Code
    /tmp/ccMI9ZcV.o: In function `crc_calc':
    pidata.c:(.text+0x3bc): undefined reference to `crc32'
    pidata.c:(.text+0x3e8): undefined reference to `crc32'
    collect2: ld returned 1 exit status


    Hier der entsprechende C-Code:


    Das zlib Paket ist natürlich installiert und die zlib.h liegt auch im Verzeichnis usr/include. Hat eventuell jemand eine Idee, woher der Fehler kommt?

    Viele Grüße
    Michael

    Einmal editiert, zuletzt von Silli (23. Mai 2016 um 13:13)


  • Daher möchte ich gerne den crc32 Befehl aus dem zlib Paket benutzen.

    Hast Du dem linker das auch mitgeteilt? Z. B. (an der richtigen Stelle) mit "-lz".

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Nein hatte ich nicht.

    Mit -lz am Ende von meinem linker command, hat sich das ganze erledigt. Das war das erste mal, dass ich ein weiteres Paket benutzen musste. Bisher habe ich nur die Standartpakete benutzt.

    Danke für deine Hilfe.

    Einmal editiert, zuletzt von Silli (23. Mai 2016 um 13:54)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!