警告链接 libxml++-2.6(c++11 废弃 std::auto_ptr)。我应该忽略它吗?
Warning linking libxml++-2.6 (c++11 obsoltes std::auto_ptr). Shall I just ignore it?
将 gcc 与 -std=c++11 一起使用
pkg-config libxml++-2.6 --modversion
2.40.1
收到很多这样的警告:
/usr/include/libxml++-2.6/libxml++/parsers/saxparser.h:224:8:警告:'template class std::auto_ptr' 已弃用 [-Wdeprecated-declarations]
- 我可能会按照建议禁用此警告,但以后可能会错过其他警告。
- 我可能会尝试最新的 libxml++ 版本 2.91;尽管存在巨大的次要(笑)版本差异,但它最多年轻一个月;我将在 libxml++ 可能更旧的旧机器上构建它。
我将忽略此警告。否则会有人这样做吗?
您可以安全地忽略 std::auto_ptr
警告。在 C++11 之前,auto_ptr
was a common way to manage memory, because it takes ownership of a pointer. Post C++11 it's recommended to use the new smart pointers that are part of STL (ie std::unique_ptr
, std::shared_ptr
).
This question has a good discussion on std::auto_ptr
and issues that led to it being deprecated。我不会使用它编写新代码,但使用 auto_ptr
的现有代码应该是安全的(假设没有开始时可能有效或无效的错误)。
嗯,有 better-than-average 的机会 auto_ptr
will be removed from C++17。所以我至少会有点担心依赖使用它的软件。
您可以用高于或等于 2.9.1 的版本替换您的 libxml++ 版本 他们修复了 auto_ptr 问题并将其替换为 unique_ptr。虽然您必须手动安装 libxml++-2.9.1,从以下网址下载:
http://ftp.gnome.org/pub/GNOME/sources/libxml++/
希望对您有所帮助。
将 gcc 与 -std=c++11 一起使用
pkg-config libxml++-2.6 --modversion
2.40.1
收到很多这样的警告: /usr/include/libxml++-2.6/libxml++/parsers/saxparser.h:224:8:警告:'template class std::auto_ptr' 已弃用 [-Wdeprecated-declarations]
- 我可能会按照建议禁用此警告,但以后可能会错过其他警告。
- 我可能会尝试最新的 libxml++ 版本 2.91;尽管存在巨大的次要(笑)版本差异,但它最多年轻一个月;我将在 libxml++ 可能更旧的旧机器上构建它。
我将忽略此警告。否则会有人这样做吗?
您可以安全地忽略 std::auto_ptr
警告。在 C++11 之前,auto_ptr
was a common way to manage memory, because it takes ownership of a pointer. Post C++11 it's recommended to use the new smart pointers that are part of STL (ie std::unique_ptr
, std::shared_ptr
).
This question has a good discussion on std::auto_ptr
and issues that led to it being deprecated。我不会使用它编写新代码,但使用 auto_ptr
的现有代码应该是安全的(假设没有开始时可能有效或无效的错误)。
嗯,有 better-than-average 的机会 auto_ptr
will be removed from C++17。所以我至少会有点担心依赖使用它的软件。
您可以用高于或等于 2.9.1 的版本替换您的 libxml++ 版本 他们修复了 auto_ptr 问题并将其替换为 unique_ptr。虽然您必须手动安装 libxml++-2.9.1,从以下网址下载:
http://ftp.gnome.org/pub/GNOME/sources/libxml++/
希望对您有所帮助。