我正在构建一个非常基本的库,这是我计划发布的第一个项目,供其他人使用,如果他们愿意的话。因此,我想知道就组织而言,有哪些“最佳实践”。我的项目唯一可能的独特之处在于,为了在项目中使用它,用户需要扩展某些抽象类,这引出了我的第一个问题:
- 我见过的很多库都包含一个 .a 文件和一个 .h 文件。这是最佳实践吗?公开所有公共 .h 文件,以便用户可以选择包含哪些文件不是更好吗?如果这是首选的做事方式,它究竟是如何完成的?单个 .h 文件中有什么内容?
我的第二个问题涉及依赖关系。例如,我当前的项目依赖于 OpenGL、GLFW 和 GLEW。我应该以某种方式将它们打包到我的项目中,还是只让用户负责确保它们已安装?
编辑:有人问我的目标操作系统。我所有的依赖项都是跨平台的,所以我(也许天真地)希望我的库也可以跨平台。
感谢您的任何帮助!