2012-02-04 17 views
20

के लिए अनिर्धारित संदर्भ मैं डोनाल्ड ईस्टलेक (कोड: http://kambing.ui.ac.id/minix/other/rfc3797/) द्वारा आरएफसी 37 9 7 यादृच्छिक चयन एल्गोरिदम के कार्यान्वयन को संकलित करने की कोशिश कर रहा हूं। हालांकि, मैं एक लिंकर त्रुटि हो रही है:'लॉग'

rfc3797.c:(.text+0xe7f): undefined reference to `log' 

मैं प्रदान की Makefile, जो स्पष्ट रूप से गणित libraray के खिलाफ लिंक के साथ इसे बनाने के लिए कोशिश कर रहा हूँ, लेकिन मैं अभी भी त्रुटि मिलती है:

cc -lm -o randomselection rfc3797.c MD5.c 

कैसे क्या मैं इस कार्यक्रम को संकलित कर सकता हूं?

+1

क्या आपने #'शामिल किया था? – Mysticial

+4

क्या आप 'cc -o randomselection rfc3797.c MD5.c -lm' आज़मा सकते हैं? – cnicutar

+1

@ छाया नहीं, ठीक है, मुझे खुशी है कि यह काम कर रहा है :-) आप इसके बजाय फ़ज्रान उत्तर स्वीकार कर सकते हैं। और यहां एक [सी अकसर किये गए सवाल] (http://c-faq.com/lib/libsearch.html) विषय पर है। – cnicutar

उत्तर

30

मुझे नहीं पता कि कारण क्या है, लेकिन यदि आप अंत में -lm स्थानांतरित करते हैं, तो यह संकलित होगा।

$ cc -o randomselection rfc3797.c MD5.c -lm 
rfc3797.c: In function ‘getinteger’: 
rfc3797.c:183:3: warning: format not a string literal and no format arguments [-Wformat-security] 
+4

यदि आप पुस्तकालयों को जोड़ने के तरीके के बारे में सोचते हैं तो कारण काफी सीधे है। –

+0

केरेक का क्या जिक्र है और उपरोक्त सिनीटार से उधार लेने पर विस्तार करने के लिए, यह बताता है कि लिंकिंग ऑर्डर के संदर्भ में लिंकिंग कैसे काम करती है: http://c-faq.com/lib/libsearch.html – staticfloat