Warum erhalte ich beim Verknüpfen mit OpenSSL "undefinierte Referenz" -Fehler?


7

Mein Kompilierungsprozess wirft Fehler wie

..undefined reference to `BN_cmp'

obwohl ich einschließe <openssl/bn.h>

und Renn gcc -lssl -lcrypto test.c -o test

kann jemand helfen? (openssl libssl1.0.0, libssl-dev sind installiert)

Antworten:


13

Die Lösung ist so einfach wie das Hinzufügen der -lFlags am Ende :

gcc test.c -o test -lssl -lcrypto

Die Reihenfolge ist wichtig, ldda Ubuntu 11.04 -as-neededstandardmäßig mit dem Switch aufgerufen wird, sodass Dateien / Bibliotheken, die von anderen Bibliotheken abhängen, vor diesen anderen Bibliotheken stehen müssen, dh test.cbenötigt werden libcrypto, also vor -lcrypto.

Weitere Informationen finden Sie unter Toolchain-Übergang in Natty Narwhal .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.