2010-12-30 18 views
22

मुझे अपने यूबंटू में एक सिम्युलेटर स्थापित करने की आवश्यकता है। यह सी ++ में लिखा गया है और जब मैं रन बनाने की कोशिश करता हूं, तो मुझे यह त्रुटि strlen was not declared in this scope मिलती है। इस त्रुटि को दूर करने के लिए कोई समाधान?स्ट्रेल को इस दायरे में घोषित नहीं किया गया था - सी ++

+0

पूर्ण त्रुटि आउटपुट को आजमाएं। – Electro

+0

कोई भी जानता है कि यह त्रुटि कुछ सिस्टमों पर क्यों नहीं होगी * जीसीसी 4.5.3 32-बिट लिनक्स? – gcbenison

+0

@gcbenison: 'gcc' एक सी संकलक है जिसे" सी "पुस्तकालयों को शामिल करने की आवश्यकता नहीं है (यानी 'cstring',' cstdlib', जो भी हो)। हालांकि 'जी ++' जो एक सी ++ कंपाइलर है उसे शामिल करने की आवश्यकता है। – Wolfer

उत्तर

42

यह करना चाहिए:

#include <cstring> 
+0

मुझे भी इस स्कोप त्रुटि में lrand48 घोषित नहीं किया गया था। क्या आप मेरी मदद कर सकते हैं? – Vivek

+1

@ विवेक: [google] के अनुसार (http://www.google.com/#&q=lrand48+include), '# शामिल ' – icecrime

1

आप सभी संकुल आप की जरूरत को स्थापित किया था?

  1. g ++ --version आज़माएं और देखें कि यह कुछ देता है या नहीं।
  2. string.h के लिए/usr/lib/include/शामिल/चेक करें।

यदि वे चीजें नहीं हैं, तो आपको यह जांचना होगा कि सही पैकेज स्थापित है या नहीं।

+2

मदद कर सकता है वास्तव में, 'strlen() 'पहुंच योग्य नहीं होने के बारे में क्या शिकायत करेगा एक कंपाइलर के बिना? – AttishOculus

+2

कंप्यूटर के अंदर रहने वाले जादुई elves होगा। वे दिखाई देने वाली अधिकांश त्रुटियों के लिए ज़िम्मेदार भी हैं और फिर हस्तक्षेप के बिना गायब हो जाते हैं। –

6
#include <cstring> 

आपका कार्यक्रम भी ::strlen बजाय std::strlen की तलाश में हो सकता है। यदि ऐसा है, तो

using std::strlen; 
संबंधित मुद्दे