C++ 使用修改后的C++;在我自己的开源项目中只有标题库?

C++ 使用修改后的C++;在我自己的开源项目中只有标题库?,c++,header-files,cub,C++,Header Files,Cub,我想在我自己的开源项目中使用修改的C++头库< /St>,但不知道通常的方法是什么。 例如,要在我的项目中使用原始标题库“CUB”,我只需要: 在我的源文件中包括“伞形”头文件 在编译文件中指定cub在我的计算机中的位置的路径 但是,我在cub中修改了一些源文件(少于五个文件),并希望在我的项目中使用修改后的cub。当然,我可以简单地将编译文件中的路径更改为本地计算机上修改过的库的位置。但我不知道如何在GitHub上作为一个开源项目显示这一变化 我能想到的唯一方法是让其他用户下载我的项目和修改

我想在我自己的开源项目中使用<强>修改的C++头库< /St>,但不知道通常的方法是什么。 例如,要在我的项目中使用原始标题库“CUB”,我只需要:

  • 在我的源文件中包括“伞形”头文件
  • 在编译文件中指定cub在我的计算机中的位置的路径
  • 但是,我在cub中修改了一些源文件(少于五个文件),并希望在我的项目中使用修改后的cub。当然,我可以简单地将编译文件中的路径更改为本地计算机上修改过的库的位置。但我不知道如何在GitHub上作为一个开源项目显示这一变化

    我能想到的唯一方法是让其他用户下载我的项目和修改后的标题库,但我觉得这是一种丑陋的方式,特别是当其他用户已经在他们的计算机中下载了原始库用于其他用途时


    我是C++新手,所以任何关于C++头库和模板库的解释都会被理解。

    < P>你似乎觉得你应该把库与你的项目分开,但是你不应该。

    如果要修改CUB并在项目中使用此修改版本,则应将其作为项目的一部分。例如,您可以将其放入项目目录中的
    第三方
    文件夹中。为了使您自己的更改可见,您还可以在存储库中创建一个子模块:

    mkdir“第三方”
    cd“第三方”
    git子模块add cub forked
    cd小熊叉
    //将CUB文件复制到CUB分叉中
    git子模块在GitHub上设置url“你的小熊叉的url”
    
    这样,当人们访问您的主存储库时,他们也可以在GitHub上导航到您修改的
    cub-forked
    存储库


    您可以将
    第三方/cub forked
    添加到包含路径中,以方便包含其头文件。

    注意:如果您的开源项目是一个库,并且cub包含在您的公共头文件中,那么您需要确保包含您修改的cub头文件,而不是使用您的库的人可能拥有的头文件e包括在内。