代码之家  ›  专栏  ›  技术社区  ›  nabulke

到外部库的编译器依赖路径的组织

  •  2
  • nabulke  · 技术社区  · 16 年前


    d:\src\lib\boost\u 1\u 43
    d:\src\lib\CxImage\u 6\u 00

    如您所见,我们在路径中包含了确切的库版本号。

    这个 advantage 这种方法的关键是我们总是知道,在当前项目中使用哪一个库的确切版本。由于项目设置存储在我们的存储库中,我们也有这些设置的完整历史记录。如果有版本更改,负责的开发人员必须更改项目设置,并确保新版本没有问题。

    disadvantage 我看到的是,对于库的每一个新版本,我们都必须接触使用它的每个项目,并改变路径。(我们不希望在主产品中部署一个库的多个版本)。而且我可以告诉你,你不会因为这个再发生的过程交到很多朋友。。。

    在中型项目中如何处理这个问题?
    你的经验中有“最佳实践”吗?

    谢谢你的建议!

    1 回复  |  直到 16 年前
        1
  •  2
  •   James McNellis    16 年前

    你可以用 property sheets 轻松管理常用项目属性。

    $(DependenciesPath)   => d:\src\lib\
    $(BoostPath)          => $(DependenciesPath)boost_1_43\
    $(CxImagePath)        => $(DependenciesPath)CxImage_6_00\
    

    然后,在项目属性中,只需要引用 $(BoostPath) 和 $(CxImagePath) 而不是特定的版本。您可以移动整个dependencies文件夹,也可以通过更改属性页中的各种宏来更改各个依赖项路径。