网络服务器软件开发/中间件开发,关注ACE/ICE/boost

C++博客 首页 新随笔 联系 聚合 管理
  152 Posts :: 3 Stories :: 172 Comments :: 0 Trackbacks
编译bjam
1.点击 开始->程序->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 命令提示
2.cd D:\Libs\boost_1_35_0\tools\jam\src
3.build.bat
 此时在src\bin.ntx86\目录下产生了bjam.exe
4.将bjam.exe拷贝到boost的根目录D:\Libs\boost_1_35_0
5.cd D:\Libs\boost_1_35_0
6.bjam.exe --build-dir=build --toolset=msvc stage
 
 编译完成后,产生了2个目录build和stage,但同时也发现一个奇怪问题:stage里面的文件,竟然有
很多相同的lib,比如boost_date_time-vc80-mt-1_35.lib和boost_date_time-vc80-mt.lib,
     boost_filesystem-vc80-mt-1_35.lib和boost_filesystem-vc80-mt.lib
他们文件的大小一样,只是文件名稍微不同,一个带有版本号,另一个没有。编译的问题,还是boost本身有
特殊含义?比较奇怪!


2010-12-9日更新:VS2008编译boost 1.44
0。进入cmd窗口
1。解压到:D:\libs,得到根目录:D:\libs\boost_1_44_0
2。cd D:\libs\boost_1_44_0
3。bootstrap.bat
编译bjam,并将bjam.exe复制到当前目录,由于机器上装有VS2010,bjam是用VS2010编译完成的,这个和最终用什么编译boost无关
4。bjam.exe --build-dir=build --toolset=msvc-9.0 stage
默认为静态库编译方式,编译完成后,会产生build和stage目录。比较奇怪的是,会用到VS2010,如编译math时,初步查看可以确定,应该是类似配置方面的东西,并没有用2010编译出来的库。由于刚开始就出现vc10的字样,我一直以为是编译命令有问题,于是Crtl + C终端,然后阅读文档查找问题,多次试验无解,折腾了一天多,今晚偶然一次没有中断,最后又出现vc9.0的字样,等待编译完成后,才明白!
posted on 2008-07-12 22:01 true 阅读(1546) 评论(3)  编辑 收藏 引用 所属分类: boost

Feedback

# re: boost 1-35编译 2008-07-14 08:10 紫夜苍狼
博主能不能说一下怎么编译带不同的编译选项的Boost库?还是说像你这样编译一次就能编译出所有不同编译选项的库啊?  回复  更多评论
  

# re: boost 1-35编译[未登录] 2008-07-16 17:13 hdqqq
你到linux下编译一下就知道了,不带版本号的是一个链接,但是在windows下不支持,所以有两个了,用链接的好处就是可以随时升级新的版本.  回复  更多评论
  

# re: boost 1-35编译 2008-07-16 23:22 true
@hdqqq。
呵呵,正解!今晚链接了一下不带版本号的lib,和相应带版本号的,功能都是一样的,不带版本号,在升级boost库时,不需要更改源代码,就可以直接升级。刚醒悟。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理