2010-12-30 14 views
22

Ubuntu'mda bir simülatör kurmam gerekiyor. C++ 'da yazılmıştır ve make'i çalıştırmaya çalıştığımda bu hatayı strlen was not declared in this scope alırım. Bu hatayı aşmak için herhangi bir çözüm var mı?strlen bu kapsamda bildirilmedi - C++

+0

Tam hata çıktısını gönderin. – Electro

+0

Bazı sistemlerde, örneğin bu hatanın neden * * oluşmadığını bilen var mı? gcc 4.5.3 32-bit Linux? – gcbenison

+0

@gcbenison: 'gcc', dahil edilmek üzere" c "kütüphanelerine ihtiyaç duymayan bir C derleyicisidir (yani. Cstring', cstdlib', neyse). Ancak bir C++ derleyicisi olan g ++ 'nın bunlara dahil olması gerekir. – Wolfer

cevap

42

Bu yapmalıyım:

#include <cstring> 
+0

Ayrıca, bu kapsam hatalarında lrand48 bildirilmiyor. Bana yardımcı olabilir misiniz? – Vivek

+1

@Vivek: [google] 'ya göre (http://www.google.com/#&q=lrand48+include), #include 'yardımcı olabilir – icecrime

1

Eğer gerekli tüm paketleri yükleme mi?

  1. g ++ --version'ı deneyin ve bir şey verilip verilmediğine bakın.
  2. check/usr/lib/include/string.h için.

Bu gibi şeyler yoksa, doğru paketin yüklü olup olmadığını kontrol etmeniz gerekir.

+2

Şimdi gerçekten, strlen()' e ulaşamayacağı hakkında şikayette bulunabilirsiniz derleyici olmadan mı? – AttishOculus

+2

Bilgisayarın içinde yaşayan büyülü elfler. Görünüşe göre görünen çoğu hatadan da sorumludurlar ve müdahale edilmeden kaybolurlar. –

6
#include <cstring> 

Programın yine ::strlen yerine std::strlen arıyor olabilir. Durum buysa,

using std::strlen;