我目前正在尝试在 C++ 中设置一个使用luabind库的项目 b。不幸的是,在我的发行版 Arch 上,这个库不在官方 repos 中,而且 AUR 中的库已经过时并且无法编译。
考虑到我只需要这个项目的库,我认为我可以通过构建库然后在我的项目的 2 个子目录中安装(复制)包含文件和生成的二进制文件来创建一个类似于 python 的 virtualenv 的沙盒环境,分别称为include
和lib
我将在构建时添加到链接并包含路径。我理解为什么将库与您的项目一起分发是不好的:例如同时进行安全性和错误修复。然而,分发 DLL 几乎普遍在 Windows 上完成(如果我交叉编译我可能会这样做),并且许多项目(如 Linux 上的游戏)倾向于打包它们的库以避免 disrtos 之间的不一致。此外,如果需要一个 lib 的补丁或分叉版本,我怀疑我是否会在任何官方 repo 中找到它。
所以我的问题是:
- 我上面描述的是一种常见的做法吗?我应该这样做吗?
- 如果不是,这个问题最普遍接受的解决方案是什么?
注意:如果重要,我使用 Cmake 进行构建自动化
编辑: 这个问题与我的略有重叠。