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

时间:2010-09-15 10:41:25

标签: c++ visual-studio visual-studio-2008 visual-c++ visual-c++-2008

我是现在的团队,我们在项目设置中组织依赖项到外部库标题:

编译器设置 - >其他包含:
d:\ SRC \ LIB \ boost_1_43
d:\ SRC \ LIB \ CxImage_6_00
...

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

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

我看到的大disadvantage是每个新版本的库,我们都必须触及每个使用它的项目,并改变路径。 (我们不希望使用我们的主要产品部署一个库的多个版本)。我可以说,你不会在这个重复过程中结交很多朋友......

您如何在中型项目中处理此问题?
您的体验中是否有“最佳做法”?

我对拥有大量子项目的windows / visual studio 2008环境中的任何解决方案特别感兴趣。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:2)

您可以使用property sheets轻松管理常见项目属性。

我的建议是将用户宏设置为如此组织:

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

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