पर `SHA1 'के अनिर्धारित संदर्भ मैं लिनक्स पर लाइब्रेरी संकलित करने का प्रयास करता हूं। यह libary <openssl/sha.h>
लाइब्रेरी का उपयोग करता है। मैंने इस पुस्तकालय को स्रोत फ़ाइल में शामिल किया है। उसके बाद, मैं इस परियोजना को संकलित करने के लिए ध्वज -lssl
का ध्वज और -lcrypto
ध्वज का उपयोग करता हूं। तो यहाँ मेरी आदेश है:लाइन
gcc -g -Wall -lssl -lcrypto -o bt_client file_a.c file_b.c
लेकिन मैं त्रुटि को पूरा: लाइन 130 पर
undefined reference to `SHA1' at line 130
कोड है:
SHA1((unsigned char *) null_padded_name, 20, (unsigned char *)name_sha1);
मैं कुछ याद है? कृप्या मुझे सही करें। धन्यवाद :)
यह आपको कोड का उपयोग कर के बीच अपने आवरण कोड रखकर/रैप कॉल ओवरराइड करने के लिए अनुमति देने का दिलचस्प क्षमता है और वास्तविक पुस्तकालय कोड। –
धन्यवाद :) मैं इसे समझता हूं: डी –
सच नहीं है। मैं हमेशा अपने पुस्तकालयों को पहले और मेरी सी और .o फाइलें आखिरी बार रखता हूं। (कोई अच्छा कारण नहीं है, अगली बनाने के लिए पुरानी मेकफ़ाइल कॉपी करें।) मैं लिनक्स पर g ++ का उपयोग कर रहा हूं। नीचे दिए गए उत्तरों ने मेरी मदद की। मैं कह रहा था "-एलएसएलएल"। मुझे "-lcrypto" जोड़ने की जरूरत है। –