我是C ++的新手(学习一些游戏编程的东西),我想使用常见的约定来设置我的目录结构。我的主要困惑点,我还没有看到明确的推荐,是我放置依赖关系的地方。例如,我将会关注FreeGLUT和FreeType。我下载的第一件事是FreeGLUT的MSVC版本,它带有如下的子目录结构:
bin/
freeglut.dll
x64/
freeglut.dll
include/
GL/
someheaders.h ...
lib/
freeglut.lib
x64/
freeglut.lib
readme.txt
我的C#开发人员希望创建一个名为" Dependencies"的子目录。在我的解决方案目录中,取出所有这些并将其放在它自己的子目录中,然后对任何其他库执行相同的操作,类似于NuGet包目录,然后在构建时引用相应的位置。我不是百分百肯定,但我猜这可能会引起头文件的混乱,如果它们分散在不同的子目录中,因为你不仅仅是"添加参考文献"在C ++中,就像在C#中一样。
我的依赖项应该是我项目的一部分吗?我应该将它们分成不同的基本文件夹吗?标准的事情是什么?
n.b。我知道lib或dll是一个选择(即你不能在你的构建中使用它们)
答案 0 :(得分:2)
或多或少的标准解决方案如下:
这就是例如Inkscape项目:https://launchpad.net/inkscape上有一个主存储库,包含项目的完整源代码,https://launchpad.net/inkscape-devlibs上有一个单独的存储库,其中包含在Windows下构建所需的依赖项的二进制文件。 / p>
通过这种方式,您可以避免使用依赖项更改来混乱修订历史记录,并在主树中存储大型二进制文件。