【问题标题】:Problem in using boost library with VS2019在 VS2019 中使用 boost 库的问题
【发布时间】:2021-12-08 03:02:09
【问题描述】:

目前我在我的项目中使用 boost 库 1_54_0,它在 VS2010 中运行良好。 但是当我将同一个项目升级到 VS2019 时,我遇到了错误。

朋友 boost::shared_ptr boost::make_shared(); --> 没有问题 朋友 boost::shared_ptr boost::make_shared(std::string const & a1);--> error C2063 'boost::make_shared': not a function

即使我尝试使用最新的 boost 库 1_77_0。也有同样的问题。 请帮助解决问题。

【问题讨论】:

  • VS2019有std::shared_ptr,是boost::shared_ptr的直接继承者。
  • 目前我在我的项目中使用 boost 库 1_54_0,它在 VS2010 中运行良好。但是当我将同一个项目升级到 VS2019 时,我遇到了错误 无论如何,您无法将 VS 2010 的 boost 1.54 二进制文件与 VS 2019 链接。确保在升级时将所有第三方规范替换为使用兼容编译器生成的二进制文件。 VS 2019 与 VS2015 到 2019 的二进制文件兼容,没有其他版本的 msvc(可能除了 VS2022 beta)。
  • 谢谢@drescherjm,正如你提到的,我也尝试使用最新的boost库1_77_0。我仍然面临同样的问题

标签: c++ boost


【解决方案1】:

boost::make_shared: 不是函数

这是正确的错误信息。这是一个函数模板。您可以将每个 make_shared<T> 模板实例化为好友,或仅将一个特定实例化。

【讨论】:

  • 谢谢你的回复,我只实例化为友元函数。我正在使用 boost_1_77_0
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-10
  • 2020-08-10
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
相关资源
最近更新 更多