|
|
1
8
确保每个人都配置正确的一个好方法是使用SVN外部。你可以创造出
这样,当新版本的Boost出现时,您只需将您的SVN重新插入到
在存储库中,SVN外部指向存储库中的SVN文件夹。例子
我们个人将Boost头文件保存在源代码控制下,如前所述,但是将libs保存为一个压缩文件,我们要求每个人都下载它。我们有一个环境变量,类似于下面的boost-lib,我们将它指向当前的boost-library目录。 |
|
|
2
3
我建议使用安装程序。 自己动手做并不难。程序如下:
Download boost into C:\Program Files\boost\boost_1_40_0然而,这足够慢,足够复杂,尤其是最后一步,你和其他人可能会偶尔搞砸一些事情,导致浪费许多小时来整理神秘的构建错误——这是我的经验。 |
|
|
3
2
我已经在窗户下安装了Boost。它的“bjam”安装工具自动检测MSVC并将其用于编译;我对构建自己没有任何保留。这只比“配置制造安装”稍微困难一点。 建立自己甚至可以 必要的 ,因为联机提供的boost libs不包括icu(unicode)支持,例如对boost-regex lib的支持。 |
|
|
4
1
在将Boost置于源代码控制之下之前,请记住编译后的库占用了几千GB。(我的boost文件夹大约是5GB)让每个人自己安装boost可能是值得的。 除此之外,安装程序应该可以很好地工作,但自己编译也非常简单。 默认情况下,Boost会安装到特定于版本的文件夹中(如果您自己编译它,或者使用安装程序),因此很容易同时安装多个版本。因此,如果您的团队将boost升级到新版本,您可以简单地更改.sln或.vsprops文件中的include路径,以使编译器搜索新版本--如果同事没有安装正确的版本,他将无法生成(这可能比使用旧版本进行静默生成更好)。 |
|
|
5
1
另一个需要考虑的问题是你是否需要全部或部分的提升。我们在这里所做的是将源代码置于版本控制中,并为我们实际想要使用的库创建一个单独的包装器项目。每个库的编写都非常干净,只需将所有cpp文件放到一个新的Visual Studio项目中即可。您可能需要设置顶级配置头(我认为我将其设置为强制包含),并且整个构建过程非常容易。在解决方案中添加此项目作为依赖项,这意味着您可以将所有二进制文件保留在SCM之外,还可以确保每个人都始终是最新的。 大部分的增强都是头文件,所以你可能会发现只有少数几个库是你想要构建的。这种方法也使您更容易匹配您的vs项目设置。 |
|
6
1
我们实际上创建了自己的安装程序,只需要在我们的工作中使用Boost的一部分,然后将其分发给IT人员,以便在开发人员机器上安装。我们还将boost的副本保存在修订控制中,这样我们就可以正确地跟踪它和系统其余部分之间的依赖关系,并自己构建它。 我想这是两个世界中最糟糕的。但它给了我们最大的控制。 |
|
|
7
0
有几点不能让它受源代码管理:
我个人不需要自己去构建它——例如,在Linux上,我总是使用发行版提供的包。 |
|
|
8
0
我将使用安装程序,除非您需要自定义构建标志。这要容易得多,而建立动力(至少在我上次这样做的时候)并不是最清楚的过程。没有什么能阻止您下载与安装程序提供的Boost版本匹配的源代码,并将其置于版本控制中。这是我过去为其他库(NSS、iPlanet SDK)使用的方法,它运行得很好。 |
|
|
9
0
我建议首先运行bootstrap.bat-它将生成bjam.exe,然后
您只需要指定正确的工具集。它将把所有二进制文件放在..\lib文件夹中。 |
|
|
10
0
我想说的是,把Boost安装作为项目的先决条件。手动安装只需几分钟,只需一次少量的步骤。大型综合项目, 最后 最终会依赖于Boost,所以这是一个很正常的前提条件。当然,自动化是很简单的。其优点是:
对于Visual Studio 2015和最新的Boost版本,以下是我们团队遵循的逐步说明: |