岁月流转,往昔空明

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks

首先我声明一下,其实这里的FAQ所给出的解答,都不是我说的,而是最近接触boost的时候一名前辈指点的,所以版权属于的,呵呵。

Q: boost 1.34.0 在 VC8下工作有哪些问题?

A: boost 1.34.0在VC8下使用它自带的STL编译出的"Safe"代码速度很慢;它的安全的C函数,boost也不支持。同时由于code page,在enable_if.hpp编译的时候会大量出现warning;同时,最严重的bug还是typeof在vc8下不能正常工作,而cvs中head版本是可以的。

Q:VC8平台下如何配置bjam的编译?

A:在$(boost)/tools/build/v2下找到 user-config.jam,在config msvc里面添加这一行:
using msvc : 8.0 : : <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE <compileflags>/D_SCL_SECURE_NO_DEPRECATE <compileflags>/D_SECURE_SCL=0 ;
然后执行编译过程

Q:cvs head一定是可以使用的吗?

A:不是这样的。因为boost开发的人大多数都是在gnu下完成的,因此提交的代码不一定能正常的工作在VC++的环境下。尽管boost尽可能的按照标准来开发,但是通常也会应用到一些编译器技巧来完成特定的任务。

Q:为什么我的typeof在VC8下不能使用?

A:因为typeof可能依赖于已知的编译器的bugs。release 1.34.0中的typeof是不能在VC8下工作的。如果想获得可以使用的版本,请使用cvs将head分支的对应代码check out。

Q:为什么使用bjam define不能将编译选项传递到编译器中?

A:在boost的Mail List里面,这已经被认为是一个bug。不仅仅是define选项,cxxflags,cflags都存在同样的问题。但是奇怪的是,其它features却能准确的起作用。

Q:boost 1.34.0 还有哪些问题?

A:最明显的问题,就是iostream仍然使用了1.33的版本。而cvs中已经有对应的、经过测试的iostream。很难有什么理由能让我们认为,是由于1.34的问题而roll back到1.33。因此这很可能是在merge的时候出的差错。

Q:boost的未来版本可能有什么变化?

A:可能在接下来的几周内,boost将会发布1.34.1。希望新的版本能够修正现有的问题。1.35中,asio和gil可能会被加入,这使得boost库能够有一个不小的变化。

Q:如何知道boost接纳了哪些目前还不在boost release中的库?

A:http://www.boost.org/more/formal_review_schedule.html

Q:为什么说boost 1.34.0是最糟糕的boost?

A:难道还不够糟糕吗?
posted on 2007-05-24 11:39 空明流转 阅读(2381) 评论(7)  编辑 收藏 引用

评论

# re: boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 2007-05-24 20:36 missdeer
呵呵  回复  更多评论
  

# re: boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 2007-05-30 17:24 Atry
typeof在VC8可以使用,但是只能用模拟方式,必须用宏来注册需要用typeof的类型和模板类  回复  更多评论
  

# re: boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 2007-06-07 17:39 alec yin
怎么觉得是vc8垃圾啊~都是vc8出现问题  回复  更多评论
  

# re: boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 2007-06-07 23:22 空明流转
不能怪VC8.因为boost那帮人多用gcc写.最后才会挪到VC8上,所以出了问题自然是VC8倒霉.  回复  更多评论
  

# re: boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 2007-10-11 10:18 金庆
应该是用了VC8才变糟的吧?先声明,我没用VC8。

> boost 1.34.0在VC8下使用它自带的STL编译出的"Safe"代码速度很慢;
应该可以在Release中禁用Safe Code吧?

> 它的安全的C函数,boost也不支持。
不知什么意思,有编译错误吗?

> 同时由于code page,在enable_if.hpp编译的时候会大量出现warning;
warning无所谓。

> 同时,最严重的bug还是typeof在vc8下不能正常工作。
既然是因为typeof可能依赖于已知的编译器的bugs,那就不该使用typeof。  回复  更多评论
  

# re: boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 2008-10-15 14:58 ds
怎么在visual studio 2008下配置boost?  回复  更多评论
  

# re: boost 1.34.0(几乎是最糟糕的boost) 常见问题解答 2008-10-18 20:03 空明流转
@ds
和2005都相同。  回复  更多评论
  


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