如何安装第三方库
How to install third party libraries
我对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"
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 在Ubuntu 16.04上安装Cilk时出现问题
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- C++:如何在CLion IDE中安装Boost
- 如何包装第三方DLL在R中使用
- 安装opencv失败-粘贴CMakeError.log的内容
- 在cygwin中测试新的boost安装时出现cpp错误
- 有人安装"IITB Simplecpp in mac"吗?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 我可以在 Arduino 的库文件夹之外安装库吗?
- Mingw-64 在构建和安装后不会编译 openCV 代码
- 第三方 API 中的编译错误 - Visual Studio
- 为什么构建目录中新构建的共享库与安装目录中的副本具有不同的依赖项集?
- CMake - 安装第三方 dll 依赖项
- 如何从 github 为 c++ 项目安装第三方库
- 在OSX中安装用于QT 5.5的第三方模块
- 管理第三方库安装C
- 如何安装第三方库
- 第三方C++库,安装位置
- 在Mac OS X上安装第三方库