无法在ODEINT包中编译示例

unable to compile examples in ODEINT package

本文关键字:编译 包中 ODEINT      更新时间:2023-10-16

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

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

我不清楚我错过了什么。我需要完整的boost库才能运行吗?我的印象是ODEINT是一个"独立的"包。

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

您将包下载并提取到哪里?包主页上说它是一个只有头的包,所以你只需要让Visual找到头文件。我已经有一段时间没有使用Visual了,但快速谷歌一下"Visual 6添加头路径"应该是一个很好的起点。看看Visual Studio在哪里查找C++头文件?。

引用自本页:

在Visual Studio中,转到项目设置对话框。我们希望更改调试和发布版本的设置,因此在设置字段下,选择"所有配置"。在C/C++选项卡下,选择Preprocessor选项。

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

更新

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

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