二、完整編譯boost
1、編譯bjam
在控制台下面執行...\boost_1_33_1\tools\build\jam_src目錄下的build.bat,會在此目錄下生成檔案bin.ntx86\bjam.exe.
這裡存在一些問題。如果你用的編譯器不是vc8、vc安裝目錄不再c:\或者環境變數設定和build.bat不一致,會導致此編譯無法執行,比較穩妥地辦法是啟動vc的命令提示,在此環境下執行build.bat,然後生成bjam.exe。
三、編譯部分boost庫
boost大部分庫不需要編譯就可直接用,平台相關的庫需要編譯才能用。以vc8下編譯boost::thread為例子,此庫需要編譯才能用。
1、直接用bjam編譯boost::thread(動態庫)
執行:bjam "-stools=vc-8_0" --with-thread即可在...\boost_1_33_1\bin\boost\libs下生成boost::thread所需的動態庫和靜態庫,更多啟動引數檢視官方文件。
2、用vc編譯boost::thread(靜態庫)
先新建乙個win32\consol工程,例如boost.thread,去掉預處理頭選項並且選擇動態庫或靜態庫選賢,然後將...\boost_1_33_1\libs\thread\src下所需的檔案插入工程,此目錄下的mac不需要編譯。直接編譯即可。
有個問題,boost有複雜完整的編譯配置,可以檢視英文官方文件。在引用自己編譯的庫會有乙個提示找不到xx庫檔案,這個庫檔名與bjam編譯生成的檔名相同。解決辦法:用預處理巨集可以遮蔽boost預設設定。在boost.thread工程中加入預處理巨集boost_all_no_lib,另外在自己的工程中也同樣加入此預處理巨集即可。更多資料檢視英文官方文件。
3、用vc編譯boost::thread(動態庫)
新建win32\consol\dll\空專案,然後加入...\boost_1_33_1\libs\thread\src所需檔案。設定預處理巨集:boost_thread_build_dll.直接編譯。
交叉編譯部分boost庫
1 進入 work src packages boost 1 49 0目錄,執行 sudo bootstrap.s 通過執行sudo bootstrap.s show libraries 顯示所有的庫 2 修改 project config.jam 為以下內容 將 using gcc 修改為 usi...
VC6 0下編譯boost庫的regex
今天要用到正規表示式,用網上的方法,直接使用命令 nmake vc6.mak 提示 nmake 不是內部或外部命令,也不是可執行的程式 上網搜尋了一下,說執行命令 call c program files microsoft visual studio vc98 bin vcvars32.bat 重...
編譯 boost 的正規表示式部分
vc利用boost庫解析正規表示式 最近做 資料庫涉及到解析 sql語句,覺得最好的辦法是寫正規表示式解析,由於vc6沒有解析函式,自己寫又不甘心,後來從網上找到了boost庫,解決了這個問題.boost庫安裝比較麻煩,需要自己編譯原始檔,我整理了一下,如果僅僅需要做正規表示式,按下面的 敲就行了....