首先我聲明一下,其實這里的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:難道還不夠糟糕嗎?