gpt4 book ai didi

c++ - 在我自己的开源项目中使用经过修改的 C++ 头文件库的通常方法是什么?

转载 作者:行者123 更新时间:2023-12-01 14:07:58 25 4
gpt4 key购买 nike

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

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

  1. download CUB
  2. 在我的源文件中包含“umbrella”头文件
  3. 在编译文件中指定cub在我电脑中的位置

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

我唯一能想到的办法就是让其他用户把我的工程和修改后的头库都下载下来,但我觉得这样很丑陋,尤其是当其他用户已经在他们的电脑上下载了原库的时候其他用途。

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

最佳答案

您的印象似乎是您应该将库与项目分开,但实际上不应该。

如果您要修改 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

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

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

关于c++ - 在我自己的开源项目中使用经过修改的 C++ 头文件库的通常方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63555788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com