我是现在的团队,我们在项目设置中组织依赖项到外部库标题:
编译器设置 - >其他包含:
d:\ SRC \ LIB \ boost_1_43
d:\ SRC \ LIB \ CxImage_6_00
...
如您所见,我们在路径中包含确切的库版本号。
此方法的advantage
是我们始终知道的,在当前项目中使用了哪个库的确切版本。由于项目设置存储在我们的存储库中,因此我们还拥有这些设置的完整历史记录。如果有版本更改,负责的开发人员必须更改项目设置并确保新版本没有问题。
我看到的大disadvantage
是每个新版本的库,我们都必须触及每个使用它的项目,并改变路径。 (我们不希望使用我们的主要产品部署一个库的多个版本)。我可以说,你不会在这个重复过程中结交很多朋友......
您如何在中型项目中处理此问题?
您的体验中是否有“最佳做法”?
我对拥有大量子项目的windows / visual studio 2008环境中的任何解决方案特别感兴趣。
感谢您的任何建议!
答案 0 :(得分:2)
您可以使用property sheets轻松管理常见项目属性。
我的建议是将用户宏设置为如此组织:
$(DependenciesPath) => d:\src\lib\
$(BoostPath) => $(DependenciesPath)boost_1_43\
$(CxImagePath) => $(DependenciesPath)CxImage_6_00\
然后,在项目属性中,您只需要引用$(BoostPath)
和$(CxImagePath)
而不是特定版本。您可以移动整个依赖项文件夹,只需更改属性表中的各种宏即可更改各个依赖项路径。