我一直ext::hash_map
在 C++ 项目中使用,并注意到在 g++ 4.3 中它已被弃用,取而代之的是unordered_map
. 我需要保持与不可用的旧系统的兼容性unordered_map
。我突然想到,这正是我已经在使用的 autoconf 可以处理的事情。但是,我未能成功找到有关这样做的文档。
我想我需要执行以下操作:
- 将ext::hash_map
我的代码中的所有实例替换为 - 将我的代码中的所有MY_HASH_MAP
实例替换为
- 在 configure.ac 中使用和的某种组合包含一行ext/hash_map
MY_HASH_INCLUDE
AC_CHECK_HEADERS
AC_DEFINE
我无法准确地找出正确的 autoconf 魔法来完成这项工作,并且想知道它是否是最好的解决方案。当然,这是许多其他人会处理的事情,并且可能有一些我无法找到的标准解决方案?
所以,三个相关的问题:
- 有没有我应该使用的标准方法来处理这个问题?
- 我如何在 autoconf 中做到这一点?
- 我是否应该只使用 -Wno-deprecated 并假设 C++ 标准在我有生之年不会更新?