【问题标题】:boost::sandbox::odeint installboost::sandbox::odeint 安装
【发布时间】:2011-01-06 22:59:13
【问题描述】:

我想使用 boost::sandbox 中的 odeint 模块,但我不确定如何将从 svn 检索到的沙盒代码集成到我的 boost 安装中。我已将 boost 安装到 $BOOST_ROOT=/usr/local/boost_1_45_0。将 odeint 的内容合并到我的 boost 路径中是否合适,这会将标头放置在 $BOOST_ROOT/boost/numeric/odeint.hpp。

这是正确的方法还是有获取和安装 boost::sandbox 代码的标准方法?

【问题讨论】:

    标签: c++ boost numeric


    【解决方案1】:

    boost.odeint 完全只有标题。因此,您可以将 odeint/boost 目录的内容复制到您的 $BOOST_ROOT 目录中,一切正常。或者,您可以将 odient 目录的位置添加到编译器的包含标志(例如 gcc -Ipath_to_odeint)。

    【讨论】:

    • 感谢您的提示。到目前为止,该库对我来说一直运行良好,如果更大规模的测试运行良好,我可能会在我的项目中采用它。目前发展情况如何,我注意到最近没有任何SVN活动?是否有邮件列表或讨论线程可以去任何地方?我找不到任何开放票的错误跟踪器,有什么需要注意或我应该尝试修复的吗?
    • 我会说这个答案中的第二个选项是“正确”的选项,尽管从技术上讲两者都可以。
    【解决方案2】:

    我不知道任何“正确”的解决方案,但我可以告诉你,如果你只是将 boost/numeric/odeint.hppboost/numeric/odeint/*.hpp 复制到该目录,你应该不会遇到任何问题,因为不会覆盖任何文件(如果出现故障只需删除它们即可完成)。

    为了它的价值,我为 boost::process 做了这件事,它没有任何问题。

    【讨论】:

    • 它似乎很适合 Boost 目录树。我假设所有沙盒库都是这样的,因为它们是为了将来添加到核心 boost 库中。至少它是一个只有头文件的库,所以永远不会有任何运行时问题。感谢您的验证。
    • 大多数 boost 库只是标题(我认为这是因为它们大量使用模板和简单性)。
    • 虽然这可行,但我不认为这是正确的答案。我认为安装的代码不应该被弄乱。
    • 但是,正如其他评论者所指出的,安装的代码没有被弄乱了。这段代码只是被添加到同一个目录中。
    【解决方案3】:

    目前我们完全重新设计了库。接口将是相同的,但它将具有一些附加功能(cuda 支持、支持将结构和元组作为状态类型)和更多步进器(刚性求解器、隐式求解器等)。不存在错误跟踪器和单独的列表,但您可以使用 boost-users@lists.boost.org 进行讨论或提出建议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-23
      • 2014-01-25
      • 1970-01-01
      • 2015-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多