3

我正在尝试在 C++ 中解决一组耦合的 ODE,并且我决定尝试 odeint(可在此处获得),因为我已经阅读了很多关于它的好东西。但是,我正在编译包中包含的示例。情况如下:

到目前为止,我只下载了包并解压了它。我在 Windows XP 上运行 Visual C++ 6,并且正在编译示例“simple1d”。我收到错误消息:“无法打开包含文件:'boost/config.hpp':没有这样的文件或目录”。

我不清楚我错过了什么。我需要完整的 boost 库来完成这项工作吗?我的印象是 ODEINT 是一个“独立”包。

4

3 回答 3

3

您的错误表明编译器找不到 boost 库。您应该从 boost.org 下载它们并将它们添加到您的标题路径中。

于 2012-10-15T14:46:14.660 回答
1

你在哪里下载并解压包?包主页说它是一个只有头文件的包,所以你只需要让Visual找到头文件。我有一段时间没有使用 Visual,但是快速搜索一下“Visual 6 添加标题路径”之类的内容应该是一个不错的起点。看看Visual Studio 在哪里寻找 C++ 头文件?.

从这个页面引用:

在 Visual Studio 中,转到“项目设置”对话框。我们要更改 Debug 和 Release 版本的设置,因此在Settings For字段下,选择“All Configurations”。在C/C++选项卡下,选择预处理器选项。

包 tarball 有一个名为boost的目录:您希望将该目录的路径添加到Additional include commands框,然后添加#include <boost/numeric/odeint/config.hpp>到您的代码中。

更新

那么,您似乎已经正确安装了 odeint 标头:文件 boost/numeric/odeint/config.hpp 有一行#include <boost/config.hpp>,这是视觉必须抱怨的;所以我猜这个包不是独立的。它必须需要安装其他 boost 头文件。我在包主页或包 tarball 中都找不到任何提及任何依赖项的内容,所以我想你也应该尝试安装 boost。在此处下载1.51.0 版本这是 windows 文档

于 2012-10-15T13:34:49.163 回答
0

您必须从http://headmyshoulder.github.io/odeint-v2/downloads.html下载 odeint,从http://www.boost.org/users/history/version_1_51_0.html下载Boost c++ 库。如果您使用代码块,请右键单击您的项目,选择构建选项,选择搜索目录并添加两个引用,一个用于 odeint,一个用于 boost。

于 2013-10-31T11:30:11.647 回答