Vous avez affaire à une bibliothèque C++ pré-standard, et vous l'avez vu ne pas compiler avec un compilateur standard. Vous pouvez toujours essayer le work-around rapide en créant, disons, iostream.h avec les deux lignes #include <iostream>
et using namespace std;
, et cela peut fonctionner. Ce n'est pas fiable, et peut causer des bogues difficiles à trouver qui apparaîtront à un moment inopportun.
S'il s'agit d'une bibliothèque d'un autre emplacement, vous pouvez voir si elle a été mise à jour.
La chose à réaliser est que le code n'est plus correct. Il peut avoir été correct pour une certaine mise en œuvre à un moment donné, mais ce n'est pas le cas maintenant. (Êtes-vous sûr que c'était à l'origine pour gcc 3.0? Les compilateurs pré-standard étaient, bien, pas standard, et avaient beaucoup de bizarreries, en évitant les normes.) Si vous installez le système original, vous pourriez être incapable pour s'interfacer correctement avec la bibliothèque, et le nouveau code ne fonctionnera pas. Une bibliothèque qui n'interface pas avec le code moderne est d'utilisation limitée. Sinon, vous allez devoir abandonner l'idée que vous ne pouvez pas changer la bibliothèque et la convertir en C++ standard. Il y aura probablement quelques bogues qui sont assez faciles à corriger (comme la portée dans for (int i = 0;...)
), et peuvent être des problèmes plus subtils. Le code peut avoir été correct pour un certain compilateur, mais ce n'est pas le cas maintenant.
Pouvez-vous poster le code (juste la section d'inclusion), inclure le chemin, etc? –
utilisez-vous gcc ou g ++? – zdav