日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

boost_1_48_0 在VS2008下的安装 Boost.Asio安装

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 boost_1_48_0 在VS2008下的安装 Boost.Asio安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一步:到官網www.boost.org,下載boost最新版boost_1_48_0.zip


?


第二步:將boost壓縮包解壓到C盤根目錄下(在C盤操作簡單,不會出錯),目錄為C:\BOOST_1_48_0,里面就是boost的源碼和需要編譯的文件及文檔資料


?


第三步:用打開一個cmd命令窗口,在C:\Program Files\Microsoft Visual Studio 9.0\VC\bin目錄下找到VCVARS32.bat,拖到cmd命令窗口,按回車


?


第四步:將cmd中的目錄跳轉到C:/boost_1_48_0/tools/build/v2下,拖動bootstrap.bat批處理文件到cmd,,按回車鍵,隨即就會在C:/boost_1_48_0/tools/build/v2下生產一個bjam.exe和b2.exe。


?


第五步: 將bjam.exe復制或移動到boost的根目錄下,即C:/boost_1_48_0下面。


?


第六步:將cmd命令中的目錄跳到boost的根目錄下,然后,輸入


bjam --build-type=complete --with-regex --toolset=msvc-9.0 stage?
? ? ? ?bjam --build-type=complete --with-system --toolset=msvc-9.0 stage?
? ? ? ?bjam --build-type=complete --with-thread ?--toolset=msvc-9.0 stage?
? ? ? ?bjam --build-type=complete --with-date_time --toolset=msvc-9.0 stage


注意:整個操作過程中cmd命令窗口必須保證是開始打開的那個


附1:cmd 目錄跳轉指令 舉例,例如,跳到d盤下的一個名為test的目錄下,則輸入cd ?d:\test按回車。


我用是就是VS2008,照著上面的步驟操作完后,最后按照上面提示的分別在include和lib中包含,結果還是沒有通過。最后直接include和lib中直接包含C:\boost_1_48_0目錄,程序成功通過編譯和鏈接!!


boost_1_48_0 在VS2008下的安裝 Boost.Asio安裝 - luolired - Luolired
?
?


============================================================


其他說明:


以后還需要其他庫怎么辦?


按照上面的套用就行了。比如你的代碼里有#include <boost/serialization/vector.hpp>,很明顯你需要serialization庫,bjam --build-type=complete --with- serialization --toolset=msvc-9.0 stage。


網上找的一些有用的資料:


編譯參數:




stage/install :stage表示只生成庫(dll和lib),install還會生成包含頭文件的include目錄。本人推薦使用 stage,因為install生成的這個include目錄實際就是boost安裝包解壓縮后的boost目錄(E:/SDK /boost_1_39_0/boost,只比include目錄多幾個非hpp文件,都很小),所以可以直接使用,而且不同的IDE都可以使用同一套頭文件,這樣既節省編譯時間,也節省硬盤空間。




toolset :指定編譯器,可選的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)等。




without/with :選擇不編譯/編譯哪些庫。本人不需要編譯python庫,所以排除之,可以根據各人需要選擇,默認是全部編譯。但是需要注意,如果選擇編譯python的話,是需要python語言支持的,應該到python官方主頁http://www.python.org/下載安裝。




stagedir/prefix :stage時使用stagedir,install時使用prefix,表示編譯生成文件的路徑。推薦給不同的IDE指定不同的目錄,如VS2008對應的是E:/SDK/boost_1_39_0/vc9/lib,VC6對應的是E:/SDK/boost_1_39_0 /vc6/lib,否則都生成到一個目錄下面,難以管理。如果使用了install參數,那么還將生成頭文件目錄,vc9對應的就是


E:/SDK /boost_1_39_0/vc9/include/boost-1_39/boost,vc6類似(光這路徑都這樣累贅,還是使用stage好)。
build-dir :編譯生成的中間文件的路徑。這個本人這里沒用到,默認就在根目錄(E:/SDK/boost_1_39_0)下,目錄名為bin.v2,等編譯完成后可將這個目錄全部刪除(沒用了),所以不需要去設置。




link :生成動態鏈接庫/靜態鏈接庫。生成動態鏈接庫需使用shared方式,生成靜態鏈接庫需使用static方式。這里需要注意的是,static 方式下,最終生成的很多靜態鏈接庫大小都在幾兆、幾十兆,甚至接近百兆。這么大的庫我們一般是不會采用靜態鏈接方式的,所以這些庫不推薦以static方式編譯(without掉);如果已經編譯了趕快刪,肯定沒用,否則將占用近1G的硬盤空間。以下是巨型庫黑名單:wave、graph、math、 regex、test、program_options、serialization、signals。




runtime-link :動態/靜態鏈接C/C++運行時庫。同樣有shared和static兩種方式,這樣runtime-link和link一共可以產生4種組合方式。雖然它和link屬性沒有直接關系,但我們習慣上,一個工程如果用動態鏈接那么所有庫都用動態鏈接,如果用靜態鏈接那么所有庫都用靜態鏈接。所以這樣其實只需要編譯2種組合即可,即link=shared runtime-link=shared和link=static runtime-link=static。




threading :單/多線程編譯。一般都寫多線程程序,當然要指定multi方式了;如果需要編寫單線程程序,那么還需要編譯單線程庫,可以使用single方式。




debug/release :編譯debug/release版本。一般都是程序的debug版本對應庫的debug版本,所以兩個都編譯。


?


??


// over.cpp : Defines the entry point for the console ? application.
//
#include "stdafx.h"
#include ? <iostream>
#include <boost/asio.hpp>
#include ? <boost/date_time/posix_time/posix_time.hpp>


??
int main()
{
?boost::asio::io_service ? io;
?boost::asio::deadline_timer t(io, ? boost::posix_time::seconds(5));
?t.wait();
?std::cout << ? "Hello, world!\n";
?return 0;
}


boost_1_48_0 在VS2008下的安裝 Boost.Asio安裝 - luolired - Luolired
?
?
fatal error LNK1104: cannot open file 'libboost_regex-vc80-mt-gd-1_48.lib'?
Vs 中添加boost庫編譯的時候出現了這個問題


弄了好久才找出問題


兩個點:


1.Project-->屬性-->C/C++-->General-->Additional Include Derectories中加入你的boost目錄


2.Project-->屬性-->Linker-->General-->Additional Library Derectories中加入<boost>/stage/lib






總結

以上是生活随笔為你收集整理的boost_1_48_0 在VS2008下的安装 Boost.Asio安装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。