我应该包括外部库的src代码,还是应该从外部库构建的静态库?

时间:2019-01-27 21:24:47

标签: c++

我对C ++很陌生。我找到了要使用的哈希库:https://github.com/aappleby/smhasher

在我自己的代码中包含该库的正确方法是什么?

将其他存储库直接克隆到lib文件夹并在其中构建代码是否常见?

我的文件夹结构当前为:

|-include
|   |- myfile.h
|-src
|   |- myfile.cpp
|   |- main.cpp
|-lib
|   |-smhasher
|        |- MurmurHash3.h
|        |- MurmurHash3.cpp 
|        ... etc
|- Makefile

并且我的makefile当前在构建myfile.cpp之前先构建MurmurHash3.cpp,然后再构建main.cpp之前

对我来说有点奇怪,因为在推送到github进行版本控制时,此设置需要在我的源代码中包含smhasher库。我可以gitignore lib文件夹,但是使用我的代码的ppl需要知道它们是将smhasher克隆到lib文件夹中所必需的。

或者,我想知道是否应该进入smhasher源代码并构建一个静态库,并将其包含在此处的文件夹中。

基本上,我想知道在c ++中处理外部依赖关系的最常用方法是什么?以一种或另一种方式进行操作有好处吗?

1 个答案:

答案 0 :(得分:0)

最常见的方法可能是克隆存储库,将.h放入/include/并将.cpp放入/src/。然后相应地调整makefile。