雖然網上關于boost編譯問題的文章一堆一堆的,但是到我使用的時候怎么就不行呢,我的編譯器是vc7.1,本來不想用boost,只是為了編譯asio的例子,引用了
#include <boost/date_time/posix_time/posix_time.hpp>
這個頭文件,就招來了一堆的問題
提示鏈接錯誤,
文件libboost_date_time-vc71-mt-sgd-1_37.lib找不到
然后就開始了漫長的boost庫編譯。
但是編譯完了,提示還是找不到,我暈。查了查sgd的意思
s:代表static
gd:代表調試版
網上的說法我照著做了,根本就不行,不知道是筆誤呢,還是bjam版本已經更新了。只好根據錯誤提示,在boost的Jam文件中來揣測編譯開關
在X:\boost_1_37_0\tools\build\v2\build目錄中的build-request.jam文件的248行有
feature toolset : gcc msvc borland : implicit ;等內容
哦,這個大概就是編譯開關了
下面是編譯出靜態鏈接的release版本
bjam toolset=msvc-7.1 runtime-link=static stage
下面是編譯出靜態鏈接的debug版本
bjam toolset=msvc-7.1 debug runtime-link=static stage
這個stage開關呢,可能就是把編譯出來的文件復制到目錄
X:\boost_1_37_0\stage\lib
其它的開關
rtti:on off
optimization: on off
等等,