我建议不要将代码放入您自己的项目中 - 这是一个相当快速且肮脏的解决方案。在 C++ 中(事实上,在我所知道的任何编程语言中)使用库的正确方法是将所有库与您自己的项目分开,以文件系统上的单独位置.
然后,您告诉您的环境在哪里可以找到库文件并告诉您的项目使用它们。无论您使用 Makefile 还是 Visual Studio 项目文件,基本思想始终相同。
看着那(这该库的文档 http://headmyshoulder.github.io/odeint-v2/doc/boost_numeric_odeint/getting_started/usage__compilation__headers.html。它说:
odeint 是一个仅包含头文件的库,不链接预编译代码
是必须的
这意味着我刚才提到的“库文件”只是头文件。这使您变得更容易,因为您不必处理链接器选项。在 C++ 中,可以找到附加(项目外部)头文件的位置通常称为“包含路径”。
因此,你的新问题应该是:如何告诉 Eclipse Kepler 我的包含路径?
将这个新问题输入 Google(如“eclipse kepler include path”)会产生一些有趣的结果。它最终将引导您到达有关包含路径的 Eclipse 文档 http://help.eclipse.org/kepler/index.jsp?topic=/org.eclipse.cdt.doc.user/tasks/cdt_t_proj_paths.htm,您可以在其中了解如何编辑 C++ 包含路径。
现在一切都已设置完毕,您终于可以通过如下行在项目中使用库的头文件:
#include <boost/numeric/odeint.hpp>
你注意到了吗< >
?它们有很大的不同,因为它们是 C++ 表达“这不是我的项目的一部分,请从我的包含路径中获取它”的方式。就像作为语言一部分的标题一样(例如<vector>
or <iostream>
).
所有这些一开始可能会显得很麻烦,甚至一开始你可能从中获益甚少,但从长远来看,对于许多不同的项目和许多不同的库来说,这是防止混乱的唯一方法。