分享

编译boost (boost_1_49_0)

 思考的轨迹 2012-03-17

Boost社区在2012年2月24日发布了boost_1_49_0,本着程序员“喜新厌旧”的基本美德,当然要一尝先为快了。虽然编译1.49.0与编译之前boost版本大同小异,但为进一步简化编译,我写了一个编译脚本(附在最后),能自动将boost编译成vs2008、vs2010的32位及64位版本。过程如下:

1. 至http:///projects/boost/files/boost/1.49.0/下载boost_1_49_0.7z(boost_1_49_0 )。

2. 解压至D:\boost_1_49_0\ (当然也可以是其他文件夹,仅作示例。如下图)


3. 将批处理文件放在D:\boost_1_49_0\下。批处理文件可至http://download.csdn.net/detail/great3779/4104039免费下载。(也即附在最后的脚本)


4. 接下来,你只需要启动批处理,然后端一杯咖啡,等待脚本为你做完一切。完成后的效果如下图:


5. 最后,去设置你的编译器,开始使用最新版的boost吧。



附:批处理脚本:

  1. rem 创建者:黄志丹 great3779@sina.com 20120301  
  2.   
  3. rem @echo off  
  4.   
  5. rem 先编译bjam  
  6. start bootstrap.bat  
  7.   
  8. rem 等待一分钟待bjam编译完成(如果电脑性能过差,可以设置等待时间更长一些)  
  9. SET SLEEP=ping 127.0.0.1 -n  
  10. %SLEEP% 60 > nul  
  11.   
  12. rem 利用bjam编译boost库  
  13. rem 在此,我们编译vs2008和vs2010下的x86及x64共4类boost库文件  
  14.   
  15. rem 建立库文件夹  
  16. rem vs2008 win32库文件夹  
  17. md stage\lib\win32\vs9_0\  
  18.   
  19. rem vs2008 x64库文件夹  
  20. md stage\lib\x64\vs9_0\  
  21.   
  22. rem vs2010 win32库文件夹  
  23. md stage\lib\win32\vs10_0\  
  24.   
  25. rem vs2010 x64库文件夹  
  26. md stage\lib\x64\vs10_0\  
  27.   
  28. rem ******************************************************************  
  29. rem 先删除lib下所有文件(不删除文件夹)  
  30. del stage\lib\*.* /Q  
  31.   
  32. rem 编译vs2008 win32库文件  
  33. bjam --toolset=msvc-9.0 architecture=x86 --with-system --with-thread --with-date_time --with-filesystem --with-serialization  
  34.   
  35. rem 拷贝至\stage\lib\win32\vs9_0  
  36. copy stage\lib\*.* stage\lib\win32\vs9_0\*.* /Y  
  37. rem ##################################################################  
  38.   
  39. rem ******************************************************************  
  40. rem 先删除lib下所有文件(不删除文件夹)  
  41. del stage\lib\*.* /Q  
  42.   
  43. rem 编译vs2008 x64库文件  
  44. bjam --toolset=msvc-9.0 architecture=x86 address-model=64 --with-system --with-thread --with-date_time --with-filesystem --with-serialization  
  45.   
  46. rem 拷贝至\stage\lib\x64\vs9_0  
  47. copy stage\lib\*.* stage\lib\x64\vs9_0\*.* /Y  
  48. rem ##################################################################  
  49.   
  50. rem ******************************************************************  
  51. rem 先删除lib下所有文件(不删除文件夹)  
  52. del stage\lib\*.* /Q  
  53.   
  54. rem 编译vs2010 win32库文件  
  55. bjam --toolset=msvc-10.0 architecture=x86 --with-system --with-thread --with-date_time --with-filesystem --with-serialization  
  56.   
  57. rem 拷贝至\stage\lib\win32\vs10_0  
  58. copy stage\lib\*.* stage\lib\win32\vs10_0\*.* /Y  
  59. rem ##################################################################  
  60.   
  61. rem ******************************************************************  
  62. rem 先删除lib下所有文件(不删除文件夹)  
  63. del stage\lib\*.* /Q  
  64.   
  65. rem 编译vs2010 x64库文件  
  66. bjam --toolset=msvc-10.0 architecture=x86 address-model=64 --with-system --with-thread --with-date_time --with-filesystem --with-serialization  
  67.   
  68. rem 拷贝至\stage\lib\x64\vs10_0  
  69. copy stage\lib\*.* stage\lib\x64\vs10_0\*.* /Y  
  70. rem ##################################################################  
  71.   
  72. rem 删除lib下所有文件(不删除文件夹)  
  73. del stage\lib\*.* /Q  
  74.   
  75. rem boost_1_49_0共有21个库需要编译使用,分别是chrono, date_time, exception, filesystem, graph, graph_parallel, iostreams, locale, math,   
  76. rem mpi, program_options, python, random, regex, serialization, signals, system, test, thread, timer, wave。  
  77. rem 我仅选用了自己常用的几个做以上编译示例,其他使用者可以根据自己的需求选择编译。全部编译boost大概需要1个小时以上(视机器性能)  
  78. rem 全部编译boost的命令如下:bjam --toolset=msvc-9.0 --build-type=complete stage  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多