J'ai utilisé ext::hash_map
dans un projet C++ et notez que dans g ++ 4.3 il est obsolète en faveur de unordered_map
. Je dois maintenir la compatibilité avec les vieux systèmes qui n'ont pas unordered_map
disponible. Il me semble que c'est juste le genre de chose qui pourrait être géré par autoconf, que j'utilise déjà. Cependant, je n'ai pas réussi à trouver de la documentation à ce sujet.Traitement obsolète inclut avec Autoconf
Je suppose que je dois faire quelque chose comme ce qui suit:
- Remplacer toutes les instances de ext::hash_map
dans mon code avec MY_HASH_MAP
- Remplacer toutes les instances de ext/hash_map
dans mon code avec MY_HASH_INCLUDE
- Inclure une ligne configure.ac en utilisant une combinaison de AC_CHECK_HEADERS
et AC_DEFINE
Je n'ai pas été capable de comprendre exactement la magie autoconf appropriée pour faire ce travail, et je me demande si c'est même la meilleure solution de toute façon. C'est sûrement le genre de choses que beaucoup d'autres personnes auront traitées et il y aura peut-être une solution standard que je n'ai pas trouvée. Donc, trois questions connexes:
- Existe-t-il une façon standard de gérer cela que je devrais utiliser?
- Comment faire cela dans autoconf?
- Dois-je simplement utiliser -Wno-deprecated et supposer que le standard C++ ne sera pas mis à jour au cours de ma vie?