clang 3.9,auto_ptr和boost

时间:2017-03-17 02:06:07

标签: c++ boost clang

我在c ++ 1z模式下尝试使用clang 3.9编译boost时遇到错误,因为在c ++ 17中删除了auto_ptr。但是,我用c ++ 14模式成功编译了boost,并将lib文件链接到用c ++ 1z模式编译的可执行文件。那么,将来会出现任何ABI问题或潜在的错误吗?

1 个答案:

答案 0 :(得分:3)

auto_ptr不应该出现任何ABI问题,因为它只是一个标题功能 - 在libc ++。dylib中没有任何内容。

通过在包含任何libc ++标头之前定义auto_ptr,您还可以在libc ++中获取_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR

最佳解决方案是向维护人员询问您在使用auto_ptr编译C ++ 17时使用的任何增强库。