【发布时间】:2010-07-02 19:52:00
【问题描述】:
GCC 4.1 使用 <tr1/memory> 标头,而 GCC 4.3 使用 <memory> 标头,我需要一种可移植的方式来将 shared_ptr 与 GCC 4.3.2 和 GCC 4.2.1 一起使用,有没有办法做到这一点检查 GCC 版本宏或使用 Boost 等外部库?
【问题讨论】:
标签: c++ gcc shared-ptr tr1
GCC 4.1 使用 <tr1/memory> 标头,而 GCC 4.3 使用 <memory> 标头,我需要一种可移植的方式来将 shared_ptr 与 GCC 4.3.2 和 GCC 4.2.1 一起使用,有没有办法做到这一点检查 GCC 版本宏或使用 Boost 等外部库?
【问题讨论】:
标签: c++ gcc shared-ptr tr1
<tr1/memory> 仍然适用于 gcc 4.3。如果您想同时支持这两个版本,只需使用 tr1 名称即可。
【讨论】:
tr1 成为标准,它仍然可以在 tr1 包含文件和命名空间中使用,以实现向后兼容性。
尚未尝试此解决方案,但您可能可以将 tr1 添加到 gcc 命令行(-I 或 -isystem)上的包含目录列表中
【讨论】: