kri*_*ian 2 c++ cmake c++14 c++17 visual-studio-2017
我有一个项目,它使用 C++17 标准在 VS2017 中构建。我最近向该项目添加了一些依赖项。现在,我收到这样的错误:...\include\xmltooling\util\parserpool.h(193): error C2039: 'auto_ptr': is not a member of 'std'.
现在,据我所知,有两种可能性:
更改该外部库的代码。
使用 C++17 构建部分项目,使用旧 C++ 标准(如 C++14)构建其他部分。或者换句话说:在 C++14 中构建一个 C++ 文件,在 C++17 中构建所有其他文件。
现在,出现了一些问题(对不起,如果有些问题似乎很愚蠢)。
第 2 点可行吗?VS 解决方案是使用CMake. 当第 2 点可行时,如何使用CMake.
如果第 2 点不可行,除了第 1 点之外还有其他方法可以解决这个问题吗?
您只需要定义_HAS_AUTO_PTR_ETC为1:https : //blogs.msdn.microsoft.com/vcblog/2017/12/08/c17-feature-removals-and-deprecations/
但是,如果std::auto_ptr使用得当std::unique_ptr,在大多数情况下应该是替代品。您应该能够进行搜索并替换 from auto_ptrto unique_ptr。
| 归档时间: |
|
| 查看次数: |
817 次 |
| 最近记录: |