Está tratando con una biblioteca C++ pre-estándar, y ha visto que no se compilará con un compilador estándar. Siempre puede intentar la solución rápida creando, digamos, iostream.h con las dos líneas #include <iostream>
y using namespace std;
, y eso puede funcionar. No es confiable y puede causar errores difíciles de encontrar que aparecerán en un momento inconveniente.
Si se trata de una biblioteca de otro lugar, podría ver si se ha actualizado.
Lo que hay que tener en cuenta es que el código ya no es correcto. Puede haber sido correcto para alguna implementación en algún momento, pero no es ahora. (¿Está seguro de que originalmente era para gcc 3.0?) Los compiladores preestandarizados no eran estándar y tenían muchas rarezas. Evitar eso es para qué sirven los estándares.) Si instala el sistema original, es posible que no pueda para interactuar con la biblioteca correctamente, y el nuevo código no va a funcionar. Una biblioteca que no interactúa con el código moderno es de uso limitado.
De lo contrario, tendrá que abandonar la actitud de que no puede cambiar la biblioteca y convertirla a C++ estándar. Es probable que haya bastantes errores que sean bastante fáciles de corregir (como el alcance en for (int i = 0;...)
), y pueden haber algunos problemas más sutiles. El código puede haber sido correcto para cierto compilador, pero no es ahora.
¿Puedes publicar el código (solo en la sección de incluir), incluir la ruta, etc.? –
¿estás usando gcc o g ++? – zdav