国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
【Boost】在Windows下編譯Boost
 
文章分類:C++編程
這系列文章將逐一介紹Boost庫(kù)的具體內(nèi)容。首先我們從Boost在Windows下編譯開(kāi)始講解。

對(duì)于大部分Boost應(yīng)用來(lái)說(shuō),它是不用編譯的,直接包含頭文件就可使用,如:
anyarrayasioconversioncrcbind/mem_fnenable_iffunctionlambdamplsmart_pt


只有少部分需要編譯成庫(kù)文件,需要編譯的庫(kù)如下:
date_timefilesystemfunction_typesgraphiostreamsmathmpiprogram_optionspythonregexserializationsignalssystemtestthreadwave


要完全編譯boost庫(kù)需要先準(zhǔn)備一些第三方庫(kù):

1. Regex所需Unicode支持類庫(kù) -- ICU
編譯ICU較為簡(jiǎn)單,解開(kāi)ICU包之后,在其目錄下可以找到一個(gè)叫"allinone"的目錄,用Visual studio或者visual studio express打開(kāi)里面的allinone.sln,選擇release,即可以編譯完成,編譯之后,將include目錄和release目錄下的庫(kù)文件拷貝出來(lái),分別放在C:\icu\include和C:\icu\lib.

2. Graph所需的Xml處理類庫(kù) --Expat, 將該自解壓文件解壓到C:\expat即可。

3.Boost.MPI所需MPI類庫(kù) -- Boost的官方站點(diǎn)說(shuō)需要MPICH或OpenMPI之類的支持,事實(shí)上在Windows下總是會(huì)提示需要MPIC++,事實(shí)上你需要的是Microsoft Cluster Pack SDK,下載并默認(rèn)安裝在c:\Program Files\Microsoft Compute Cluster Pack下。

這里我遇到兩個(gè)問(wèn)題,一并說(shuō)一下:

如果下載的是Microsoft HPC Pack 2008 SDK,或者M(jìn)icrosoft Compute ClusterPack不是裝到默認(rèn)的路徑下,那bjam就會(huì)抓瞎,找不到mpic++的路徑,這時(shí)候可以修改一下mpi.jam(在tools\build\v2\tools):
local cluster_pack_path_native = "你的路徑" ;



現(xiàn)在完全編譯Boost所需要的類庫(kù)都準(zhǔn)備好了。

下載Boost并解壓到C:\boost.src,進(jìn)入Visual studio prompt,然后運(yùn)行boost.src目錄下的bootstrap.bat,這個(gè)腳本會(huì)幫你生成編譯所需的bjam.exe文件。

如果你機(jī)器上同時(shí)有多個(gè)不同版本的VC++存在,先修改project-config.jam,將
"using msvc ;"改為諸如" using msvc : 9.0 ;"

要支持mpi,你可以建立一個(gè)user-config.jam文件,然后添加一行“using mpi ;”即可

接下來(lái)的工作,我寫(xiě)了個(gè)小腳本boost.bat
@echo Making all Boost library -- By Ray Linnset EXPAT_INCLUDE=C:\USR\INCLUDEset EXPAT_LIBPATH=C:\USRset INCLUDE=%INCLUDE%;C:\Program Files\Microsoft Compute Cluster Pack\include;C:\Program Files\Microsoft Compute Cluster Pack\Include\amd64;set LIBPATH=%LIBPATH%;C:\Program Files\Microsoft Compute Cluster Pack\Lib\amd64;echo adding -a to force rebuild:debugbjam -s HAVE_ICU=1 -s ICU_PATH=C:\usr threading=multi link=static runtime-link=shared variant=debug  -s BZIP2_SOURCE="C:\win32_utils\bzip2-1.0.5" -s ZLIB_SOURCE="C:\win32_utils\zlib-1.2.5" --user-config="./user-config.jam" --prefix="C:\boost" install:releasebjam -s HAVE_ICU=1 -s ICU_PATH=C:\usr threading=multi link=static runtime-link=shared variant=release  -s BZIP2_SOURCE="C:\win32_utils\bzip2-1.0.5" -s ZLIB_SOURCE="C:\win32_utils\zlib-1.2.5" --user-config="./user-config.jam" --prefix="C:\boost" install


編譯后會(huì)得到debug和release兩個(gè)版本的boost,至此Boost編譯完成。現(xiàn)在我們開(kāi)始配置visual studio以方便以后使用Boost類庫(kù)。

先設(shè)置一個(gè)環(huán)境變量
set Boost=C:\boost


接著打開(kāi)Visual studio的菜單 tools-->Options...->projects and solutions-->VC++ directories 如圖添加Boost類庫(kù)的頭文件和庫(kù)文件的路徑。



下面這一小段代碼用于測(cè)試設(shè)置是否正確:
#include "stdafx.h"#include <iostream>#include <iterator>#include <algorithm>#include <string>#include <boost/regex.hpp>int _tmain(int argc, _TCHAR* argv[]){std::string line;static const boost::regex pat("^Subject:(Re:|Aw:)*(.*)");while (std::cin){std::getline(std::cin, line);boost::smatch matches;if(boost::regex_match(line, matches, pat))std::cout << matches[2] << std::endl;}}


如無(wú)差錯(cuò),這段代碼應(yīng)該可以正確編譯并鏈接。這時(shí)候可以刪除boost.src。
 
 
(#)
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
在Windows和Visual Studio上安裝boost_1_52_0
從零開(kāi)始編譯webkit 步步為營(yíng)鐵定成功! 之 WINDOWS 8 X64 ON VS ...
Matplotlib installation instructions
!!!!bitcoin core WINDOWS BUILD NOTES
使用 Boost 的 IPC 和 MPI 庫(kù)進(jìn)行并發(fā)編程
Microsoft Visual Studio 2008 下 Boost 1.4.5 的安...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服