我们的版本控制工具采用toiseSVN + VisualSVN。我对自己开发小组的一个做法有点不太理解,就是从SVN下下载代码后发现要包含第三方库需要自己先添加一个环境变量,类似于THIRD_PARTY_LIB,这个环境变量的值指向第三方库的主目录。为何不用相对目录的路径来包含第三方库呢?这样做的话新加入的开发人员下载源码后可以直接编译,就不用自己手动添加什么环境变量了。今天我向头抛出这个问题,头告诉我:使用环境变量对第三方库的管理更为方便,首先第三方库有一个版本升级和文件变更的问题,如果采用相对目录的话,就等于限死了第三方库的位置,以后要改动的话都要一一改动源码工程文件的设置,而使用环境变量,实在不行的话可以完全建一个新的第三方库的文件夹,只需要在环境变量中改动的值即可;其次是为了SVN中的branches和tags分支的使用(注:branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。tags:表示标签存放的目录。)。因为SVN中的branches和tags分支是不断更新的,采用相对目录的话肯定是不太合适的,同时发布tag版本时在采用环境变量可以不用把第三方库的dll都打包进去,因为可以通过环境变量来找到这些dll。
总之,使用相对路径包含第三方库是一时的方便造成了以后的诸多不便,用环境变量虽然一开始需要多做一点工作但对以后的工作有很多好处。