我正在开发一个 C++ 库。最终,我想让它在多个平台(至少 Linux 和 Windows)上公开可用,以及一些示例和Python绑定。工作进展顺利,但目前该项目相当混乱,完全内置于 Visual C++ 中并用于Visual C++,根本不是多平台的。
因此,我觉得清理工作是有必要的。我想改进的第一件事是项目的目录结构。我想创建一个适合Automake工具的结构,以便在多个平台上轻松编译,但我以前从未使用过这些。由于我仍将在 Visual Studio 中进行(大部分)编码,因此我还需要在某个地方保存我的 Visual Studio 项目和解决方案文件。
我试图用谷歌搜索“C++ 库目录结构”之类的术语,但似乎没有任何有用的东西出现。我找到了一些非常基本的指导方针,但没有明确的解决方案。
在查看一些开源库时,我想到了以下内容:
\mylib
\mylib <source files, read somewhere to avoid 'src' directory>
\include? or just mix .cpp and .h
\bin <compiled examples, where to put the sources?>
\python <Python bindings stuff>
\lib <compiled library>
\projects <VC++ project files, .sln goes in project root?>
\include?
README
AUTHORS
...
我以前没有/很少有多平台开发/开源项目的经验,并且很惊讶我找不到任何关于如何构建这样一个项目的好的指导方针。
通常应该如何构建这样一个图书馆项目?可以推荐阅读什么?有没有一些很好的例子?