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