使用第三方开源库的项目如何管理目录结构?

Ami*_*yan 5 open-source directory-structure

我开发了一个开源应用程序。我的项目的目录结构是:

app
|-include
|-src
|-doc
|-build
|-lib
|-bin
Run Code Online (Sandbox Code Playgroud)

我想使用另一个开源库。有一些选择:

  • 将第三方库源代码添加到includesrc目录中。
  • 编译第三方库并添加到includelib目录。
  • 创建一个third_party目录,并在其中添加第三方库的完整源代码。
  • 创建一个third_party目录并将第三方库的编译添加到其中。

什么是最好的选择?有没有更好的方法来管理使用第三方开源库的项目的目录结构?

Kev*_*eid 4

  • 如果您打算升级第三方库,将其保存在特定的子目录中会更方便。您不必拥有特定的“第三方”目录;你可以用图书馆的名字来命名它。

  • 想想版本控制中发生了什么。

    • 如果您将第三方库复制到您的存储库中,那么您不应该包含已编译的产品(而是使用源代码),因为它们通常无法进行比较和特定于平台。
    • 如果用户要单独获取库并将其添加到项目树中,那么使用子目录将更容易取消存档并保证不会出现任何名称冲突;源代码还是二进制文件应该由用户决定。
    • 在另一个极端,如果您使用 VCS 管理的引用(例如 SVN 外部或 Git 子模块),您可能必须源代码包含在子目录中。