如何安装第三方库

How to install third party libraries

本文关键字:第三方 安装 何安装      更新时间:2023-10-16

我对C++有点陌生,我决定尝试使用odeint进行一些模拟,因为python太慢了,无法满足我的需求。

我找到了这个包裹,我想和它一起玩。我只是不完全确定如何安装或在哪里放置这些库。C++和python的pip install有什么相似之处吗?

旁注:我正试图使用Eclipse Kepler来实现这一点,但我还没有接受这个想法。

我建议不要将代码放入自己的项目中——这是一个相当快速和肮脏的解决方案。在C++中使用库的正确方法(事实上,在我所知道的任何编程语言中)是将所有库与您自己的项目分开,放在文件系统上的单独位置

然后告诉您的环境在哪里可以找到库文件,并告诉您的项目使用它们。无论您使用的是Makefiles还是VisualStudio项目文件,它都是相同的基本思想。

请看这个库的文档。上面写着:

odeint是一个只有头的库,没有针对预编译代码的链接需要

这意味着我刚才提到的"库文件"只是头文件。这对您来说更容易,因为您不必处理链接器选项。在C++中,可以找到额外(项目外部)头文件的位置通常被称为"包含路径"。

因此,您的新问题应该是:如何告诉Eclipse开普勒我的包含路径

将这个新问题输入谷歌(作为"eclipse kepler include path")会产生一些有趣的结果。它最终将引导您阅读关于include路径的Eclipse文档,在那里您可以学习如何编辑C++include路径。

现在一切都设置好了,您终于可以通过以下行在项目中使用库的头文件:

#include <boost/numeric/odeint.hpp>

你注意到< >了吗?它们有很大的不同,因为它们是C++表达"这不是我项目的一部分,请从我的include路径中获取"的方式。就像作为语言一部分的头一样(例如<vector><iostream>)。

所有这些一开始可能看起来很麻烦,也许一开始你甚至从中获益甚微,但从长远来看,对于许多不同的项目和许多不同的库,这是防止混乱的唯一方法。

由于odeint是一个只有头的库,您可以将它与自己的源代码放在一起。只需将odeint的boost目录复制到你的main.cpp所在的位置(假设你有一个main.cpp,但你应该明白这个想法):

your_sources/
main.cpp
boost/
numeric/
odeint/
odeint.hpp

现在您可以通过包含来使用库

#include "boost/numeric/odeint.hpp"