दिलचस्प पोस्ट
T-SQL संग्रहीत कार्यविधि जो एकाधिक आईडी मान स्वीकार करता है सीतनिद्रा में होना: hbm2ddl.auto = उत्पादन में अद्यतन? Node.js वेब सर्वर के अंदर PHP स्क्रिप्ट निष्पादित करें एक जावा अनुप्रयोग रिमोट डीबगिंग Django आराम फ्रेमवर्क csrf निकालें सी ++ में एक पूर्णांक log2 () कैसे करें? SQL सर्वर में एक चयन से मैं कैसे अपडेट करूं? त्रुटि को ठीक कैसे करें: रूट तत्व के बाद दस्तावेज़ में मार्कअप को अच्छी तरह से बना होना चाहिए निष्पादित करने के लिए फ़ंक्शन द्वारा लिया गया समय मापने का तरीका कैसे बनाने के लिए एकाधिक क्वेरी कहाँ क्वेरी क्वेरी Laravel Eloquent? कोई पैरामीटर (वास्तविक फ़ंक्शन परिभाषा की तुलना में) के साथ एक समारोह क्यों संकलित करता है? मैं पायथन में स्पष्ट रूप से मेमोरी कैसे मुक्त कर सकता हूं? PHP curl त्रुटि कोड 60 एक अंगुलर जेएस सेवा में एक नकली इंजेक्शन क्या आप हर चीज का चयन कर सकते हैं, लेकिन 1 या 2 फ़ील्ड, लेखक के ऐंठन के बिना?

`पाउ 'और' फर्श 'के लिए अपरिभाषित संदर्भ

मैं सी में एक साधारण फाइबोनैचि कैलकुलेटर बनाने की कोशिश कर रहा हूं, लेकिन जब gcc संकलित करते हैं तो मुझे बताता है कि मुझे पावर और फर्श फ़ंक्शंस नहीं मिल रहा है क्या गलत है?

कोड:

 #include <stdio.h> #include <math.h> int fibo(int n); int main() { printf("Fib(4) = %d", fibo(4)); return 0; } int fibo(int n) { double phi = 1.61803399; return (int)(floor((float)(pow(phi, n) / sqrt(5)) + .5f)); } 

आउटपुट:

 gab@testvm:~/work/c/fibo$ gcc fib.c -o fibo /tmp/ccNSjm4q.o: In function `fibo': fib.c:(.text+0x4a): undefined reference to `pow' fib.c:(.text+0x68): undefined reference to `floor' collect2: ld returned 1 exit status 

वेब के समाधान से एकत्रित समाधान "`पाउ 'और' फर्श 'के लिए अपरिभाषित संदर्भ"

आपको ध्वज- -lm साथ संकलन करना होगा, जैसे:

 gcc fib.c -lm -o fibo 

यह जीसीसी को अपने कोड को गणित लिब के खिलाफ लिंक करने के लिए कह देगा बस उन वस्तुओं के बाद झंडा डाल देना सुनिश्चित करें, जिन्हें आप लिंक करना चाहते हैं।

अपने लिंक विकल्पों में जोड़ें-एमएम, क्योंकि पाउ () और फर्श () गणित पुस्तकालय का हिस्सा हैं:

 gcc fib.c -o fibo -lm 

बाद में किसी को पढ़ने के लाभ के लिए, आपको फ़्रेड ने कहा है, जैसे इसके खिलाफ लिंक करना होगा:

जीसीसी फाइब। सी-एलएम-ओ फिबो

लिंक करने के लिए आपको क्या लाइब्रेरी की जरूरत है, यह जानने का एक अच्छा तरीका है मैन पेज को चेक करके, अगर कोई मौजूद है तो उदाहरण के लिए, "आदमी पाउ" और "मैन फ्लो" दोनों आपको बताएंगे:

लिंक के साथ- lm

फजी द्वारा दिए गए उत्तर के संबंध में:

मुझे वास्तव में कुछ अलग करना था

परियोजना -> गुण -> सी / सी + + बिल्ड -> सेटिंग्स -> जीसीसी सी लिंकर -> पुस्तकालय

थोड़ा हरा जोड़ने के आइकन पर क्लिक करें, प्रकार मी और हिट ठीक है। इस विंडो में स्वचालित रूप से -l को इस विंडो पर लागू किया गया है क्योंकि यह लाइब्रेरी है

बिन्दु को खोजने के लिए, ईलेप्से-आईडीई में -एलएम जोड़ने के लिए वास्तव में भयानक है, इसलिए मुझे कुछ समय लगे।

अगर कोई और भी एडलिप्से का उपयोग करता है, तो यह तरीका है कि कैसे कमांड को जोड़ना है:

प्रोजेक्ट -> गुण -> सी / सी + बिल्ड -> सेटिंग्स -> जीसीसी सी लिंकर -> मिसकिलिलिएंस -> लिंकर फ्लैग: इस क्षेत्र में कमांड-एलएम जोड़ें