Windows下 VS2015编译boost1.62
VS2015編譯boost1.62
Boost庫是一個可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的開發引擎之一。 Boost庫由C++標準委員會庫工作組成員發起,其中有些內容有望成為下一代C++標準庫內容。在C++社區中影響甚大,是不折不扣的“準”標準庫。Boost由于其對跨平臺的強調,對標準C++的強調,與編寫平臺無關。大部分boost庫功能的使用只需包括相應頭文件即可,少數(如正則表達式庫,文件系統庫等)需要鏈接庫。但Boost中也有很多是實驗性質的東西,在實際的開發中實用需要謹慎。
在VS下,boost的頭文件中會包含#pragma comment(lib,xxx)的語句,所以可以不用在項目中添加相關的庫指定。
boost中大部分庫是僅有頭文件,不用編譯成庫的。
編譯好的庫可以到這里下載
鏈接:http://share.weiyun.com/712e3d95bb73d7378a8c34d3518d12f3 (密碼:2LNF)
1、源碼
源碼的下載可以直接去http://www.boost.org/網站下載。
我下載的地址是http://jaist.dl.sourceforge.net/project/boost/boost/1.62.0/boost_1_62_0.7z
2、生成編譯工具
boost庫自帶了bootstrap腳本來生成一個構建工具b2。打開命令行直接執行即可。
D:\development_library\boost\boost_1_62_0>bootstrap.bat --help Building Boost.Build engineFailed to build Boost.Build engine. Please consult bootstrap.log for further diagnostics.You can try to obtain a prebuilt binary fromhttp://sf.net/project/showfiles.php?group_id=7586&package_id=72941Also, you can file an issue at http://svn.boost.org Please attach bootstrap.log in that case.這里出現了Failed to build Boost.Build engine.錯誤,解決辦法很簡單,使用VS 2015 命令行提示符來執行即可。
3、進行編譯
b2工具的使用如下
b2 [options] [properties] [install|stage] #options 選項 #properties 特性 #install|stage 安裝還是編譯到指定位置編譯命令如下
#編譯 b2.exe --prefix=C:\Boost --build-type=complete --build-dir=build_tmp toolset=msvc-14.0 address-model=64 stage #安裝 b2.exe --prefix=C:\Boost --build-type=complete --build-dir=build_tmp toolset=msvc-14.0 address-model=64 install目標和相關選項:
| install | 安裝頭文件和編譯后的庫文件到配置的位置(如下)。 |
| --prefix=<PREFIX> | 平臺架構無關的文件(include/doc等)的安裝位置 win32默認在C:\Boost Unix/Linux默認在/usr/local |
| --exec-prefix=<EPREFIX> | 安裝平臺架構相關的文件在這里 默認與<PREFIX>相同 |
| --libdir=<DIR> | 庫文件安裝目錄 默認<EPREFIX>/lib |
| --includedir=<HDRDIR> | 頭文件安裝目錄 默認<PREFIX>/include |
| stage | 僅構建和安裝編譯的庫文件到stage目錄 |
| --stagedir=<STAGEDIR> | 安裝編譯的庫文件目錄 默認./stage |
其他選項:
| --build-type=<type> | 構建預定義的配置。 注意:構建哪些variants取決于各個庫的支持。 minimal(默認) 構建一個最小集(即只構建release版本。 在Windows上,構建debug和release模式下使用共享運行時的靜態多線程庫。 在Linux上,這些是release模式下的靜態和共享多線程庫) complete構建debug和release版本 |
| --build-dir=DIR | 構建指定目錄(默認中間文件會在源碼目錄下) 推薦!# |
| --show-libraries | 顯示構建的Boost庫列表在安裝步驟,然后退出 |
| --layout=<layout> | 確定是否選擇庫名和頭文件位置,一邊可以在同一系統上使用多個版本的Boost庫或多個編譯器編譯的。 versioned版本名,會影響庫文件名和頭文件路徑<HDRDIR> taggedboost二進制文件的名稱包括編譯的構建屬性(如variant和threading),但不包括編譯器名稱和版本或Boost版本。如果使用相同的編譯器構建Boost的多個變體,此選項將非常有用。 system二進制名稱不包括Boost版本號或編譯器的名稱和版本號。 Boost頭直接安裝到中。此選項適用于構建分發軟件包的系統集成商。 默認值在Windows上為“versioned”,在Unix上為“system”。 |
| --buildid=ID | 將指定的ID添加到構建的庫的名稱。 默認是不添加任何東西。 |
| --python-buildid=ID | 將指定的ID添加到依賴于Python的構建庫的名稱。 默認是不添加任何東西。 但指定了--buildid,還會添加此ID。 |
| --help | 顯示相關選項說明信息 |
| --with-<library> | 構建并安裝指定的。 如果使用此選項,將只構建使用此選項指定的庫。 |
| --without-<library> | 不要構建和安裝指定的。 默認是構建所有的。 |
特性:
| toolset=toolset | 指示要構建的平臺工具集。(VS2015就是msvc-14.0) |
| variant=debug/release | 選擇構建variant |
| link=static/shared | 構建靜態或共享庫 |
| threading=single/multi | 構建單線程或多線程二進制程序庫 |
| runtime-link=static/shared | 靜態還是動態鏈接到C和C ++運行時庫 |
| address-model=32/64 | 尋址模式(生成32位還是64位庫) |
注意:表格中的/原本是|。
轉載于:https://www.cnblogs.com/oloroso/p/6050596.html
總結
以上是生活随笔為你收集整理的Windows下 VS2015编译boost1.62的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Wikioi 1222 信与信封问题(二
- 下一篇: 求导的训练