2010-12-30 18 views
22

Necesito instalar un simulador en mi ubuntu. Está escrito en C++ y cuando intento ejecutar make, obtengo este error strlen was not declared in this scope. ¿Alguna solución para superar este error?strlen no se ha declarado en este ámbito - C++

+0

Publique la salida de error completa. – Electro

+0

Alguien sabe por qué este error * no * ocurriría en ciertos sistemas, p. gcc 4.5.3 ¿Linux de 32 bits? – gcbenison

+0

@gcbenison: 'gcc' es un compilador de C que no necesita bibliotecas" c "para ser incluidas (es decir,' cstring', 'cstdlib', lo que sea). Sin embargo 'g ++' que es un compilador de C++ los necesita incluidos. – Wolfer

Respuesta

42

Esto debe hacerlo:

#include <cstring> 
+0

También obtengo que lrand48 no fue declarado en este error de alcance. ¿Me puedes ayudar? – Vivek

+1

@Vivek: de acuerdo con [google] (http://www.google.com/#&q=lrand48+include), '#include ' podría ayudar – icecrime

1

¿ha instalado todos los paquetes que necesitaba?

  1. prueba g ++ --version y ver si da algo.
  2. check/usr/lib/include/for string.h.

Si esas cosas no están allí, debe comprobar si el paquete correcto está instalado o no.

+2

Ahora, realmente, qué se quejaría de que 'strlen()' fuera inaccesible sin un compilador? – AttishOculus

+2

Lo harían los duendes mágicos que viven dentro de la computadora. También son responsables de la mayoría de los errores que parecen aparecer y luego desaparecen sin intervención. –

6
#include <cstring> 

Su programa también puede estar buscando ::strlen en lugar de std::strlen. Si este es el caso, intente

using std::strlen; 
Cuestiones relacionadas