我正在构建一个非常基础的图书馆,这是我计划发布给他人使用的第一个项目,如果他们愿意的话。因此,我想知道一些组织的“最佳实践”。可能是我的项目中是唯一的唯一的事情是,为了使它在一个项目中使用,用户将被要求延长某些抽象类,这使我对我的第一个问题:C++图书馆组织
- 很多我见过的库包含一个.a文件和一个.h文件。这是最佳做法吗?公开所有的.h文件是不是更好,以便用户可以选择包含哪些文件?如果这是做事的首选方式,那究竟是如何完成的?什么进入单一的.h文件?
我的第二个问题涉及到依赖关系。例如我目前的项目依赖于OpenGL,GLFW和GLEW。 我是否应该以某种方式将它们与我的项目一起打包,或者只是让用户有责任确保它们已安装?
编辑:有人问我的目标操作系统。我所有的依赖都是跨平台的,所以我(可能天真地)希望让我的图书馆跨平台。
感谢您的帮助!
首先是...):什么许可证类型的图书馆有哪些?什么是目标操作系统? – zaufi
我不知道这里有任何标准的最佳实践。就个人而言,我喜欢每个公共类都有一个头文件,即使它在一个库中。有些人可能认为把所有这些单个文件包括在内是浪费时间。 –