Tengo un código C++ 0x. Pude reproducirlo a continuación. El siguiente código funciona bien sin -std=c++0x
sin embargo, lo necesito para mi código real.strdup error en g ++ con C++ 0x
¿Cómo incluyo strdup en C++ 0x? con gcc 4.5.2
Nota que estoy usando mingw. Intenté incluir cstdlib, cstring, string.h y probé con std ::. Sin suerte.
>g++ -std=c++0x a.cpp
a.cpp: In function 'int main()':
a.cpp:4:11: error: 'strdup' was not declared in this scope
código:
#include <string.h>
int main()
{
strdup("");
return 0;
}
Funciona en gcc 4.5.1. Pruebe '#include' 'y usando' std :: strdup', esa es la "forma de C++". (Todavía no es una respuesta, ya que eso también debería ser válido, IIRC.) –
GManNickG
@GMan: modifiqué mi pregunta. Lo intenté y no tuve suerte :(. Como una solución temporal puse extern C '_CRTIMP char * __cdecl __MINGW_NOTHROW \t strdup (const char *) __MINGW_ATTRIB_MALLOC;' en mis encabezados. Funciona con eso. –