3

我想在自己的开源项目中使用修改后的 C++ 头库,但不确定通常的方法是什么。

例如,要在我的项目中使用原始头库“CUB”,我只需要:

  1. 下载 CUB
  2. 在我的源文件中包含“伞”头文件
  3. 在编译文件中指定我电脑中cub所在位置的路径

但是,我在 cub 中修改了一些源文件(少于五个文件),并想在我的项目中使用修改后的 CUB。当然,我可以简单地将编译文件中的路径更改为本地计算机上修改后的库的位置。但我不知道如何在 GitHub 上将这种更改显示为开源项目。

我能想到的唯一方法是让其他用户同时下载我的项目和修改后的头库,但我觉得这是一种丑陋的方式,尤其是当其他用户已经将原始库下载到他们的计算机中以用于其他用途时。

我是 C++ 新手,因此任何与 C++ 头库和模板库相关的解释都将不胜感激。

4

1 回答 1

0

您似乎认为您应该将库与您的项目分开,但您不应该这样做。

如果你要修改 CUB 并在你的项目中使用这个修改后的版本,你应该让它成为你项目的一部分。例如,您可以将其放入3rd-party项目目录内的文件夹中。为了使您自己的更改可见,您还可以在存储库中创建一个子模块:

mkdir '3rd-party'
cd '3rd-party'
git submodule add cub-forked
cd cub-forked
// copy CUB files into cub-forked
git submodule set-url "URL_of_your_cub-forked_on_GitHub

这样,当人们访问您的主存储库时,他们也可以导航到您cub-forked在 GitHub 上修改后的存储库。

您可以添加3rd-party/cub-forked到包含路径,以便轻松包含其头文件。

于 2020-08-24T06:59:38.773 回答