转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2729

boost 1.55.0前两天发布了。长期以来KlayGE中集成的boost源代码是用的都奇数版本号的boost,上一个是1.53,所以这次1.55也要集成进来。

除了用bcp缩减boost的大小之外,由于boost在开发的时候没有考虑WinRT和Android这样的平台,所以每次集成后都需要做一些修改才能让boost通过所有的编译。纵观这次的1.55.0,需要修改的地方比以往的都少得多了。主要原因来自几方面:

  1. KlayGE从4.3开始引入C++11。原先需要修改的一些库,比如Chrono、Thread、SmartPtr,都因为不再使用boost的实现而没有去修改。
  2. bjam和Config已经支持vc12,所以不需要自己打补丁。
  3. Endian改用新增的Predef库,已经支持Android和ARM。
  4. Boost.Filesystem已经支持Android。

除了在1.55.0的release notes里提到的因为VS2013 RTM出得太晚来不及添加的补丁之外(涉及到Serialization、Container、MPL),因为WinRT和Android而需要修改的只有Interprocess的三处和Intrusive的一处而已。

完整的补丁在这里