tl; dr我有代码我认为其他人会发现有用但不知道如何将其打包以供其他人包含在他们的项目中并轻松修改。
我是C ++的新手,并创建了一种算法来有效地(足够)为机器人解决路径。该算法在一组点(“节点”)内创建可能的最长路径,其中两个限制是节点仅为单一访问,并且跳转到的下一个节点必须在当前节点的X距离内。
在完成机器人(学习练习)之后,我决定从机器人中删除寻路算法并将其打包成一个更通用且易于理解的片段,以便在GitHub上托管以供其他人使用。< / p>
我很难找到有关如何最好地构建我的“库”的信息 - 可能是因为如果我更熟悉C ++,这是非常明显的。我不希望它像OpenCV那样是一个DLL而我唯一的另一个例子是.hpp JSON库+ Google Style Guide中的信息。
我不确定将我的代码作为标题(带有概述+用法文档)和CPP(带有更具体的注释)文件分发会产生我想要的 - 这是JSON .hpp工作流程 - 我只是不得不下载文件#include JSON.hpp,然后我就可以调用它的方法了。
&LT; - &LT; PS。如何命名这样的算法?我根据谷歌的建议使用了一个命名空间,但目前这会导致一个非常长的名字,而不是#using my namespace。
Google的Styleguide适用于大型项目 - 而不是单个分布式文件 - 所以也许我应该将GitHub /“官方名称”命名为描述性但命名空间/项目为“SVNL”?
单一访问节点链接器
单个访问节点路径,用于在各个节点之间的距离内传输的最大节点
访问单个节点之间距离内最大化节点链接器
答案 0 :(得分:0)
没有标准的方式来分发C ++代码,但分发像你这样的小型库的最简单方法是将其包装在一个简短的命名空间中并将其发布到GitHub / GitLab / BitBucket /等。
我会确保包含一个自述文件,解释项目是什么,如何使用它,以及如何构建它。编写构建脚本并将其包含在存储库中的加分点。