vs2010中引入boost库
引言
在vs2010中無(wú)法使用C++11中的大多數(shù)特性,像mutex互斥鎖,要想使用需要引入boost庫(kù)。下面記錄一下boost庫(kù)引入到vs2010中。
實(shí)現(xiàn)
分為以下幾步:
下載boost壓縮包
可以采用下面的地址下載適合自己的版本。下載地址:
https://www.boost.org/users/history/version_1_78_0.html
解壓,編譯生成boost庫(kù)
下載成功后,可以建一個(gè)空的文件夾來(lái)存放解壓后文件,之后在開(kāi)始程序中找到vs2010的命令提示工具,我這里選擇的是x64兼容工具命令提示,打開(kāi)命令提示后,進(jìn)入到解壓后的文件所在的文件夾路徑下,然后進(jìn)入到目錄\boost_1_78_0\tools\build\src\engine下,將目錄下的bjam.exe拷貝到boost_1_78_0目錄下,
即將文件夾下的文件,如下圖:
拷貝到文件夾boost_1_78_0下,如下圖:
再在打開(kāi)的命令提示窗口輸入下列命令:
bjam toolset=msvc-10.0 variant=debug,release threading=multi link=static
然后回車,就會(huì)出現(xiàn)如上圖所示的編譯生成boost庫(kù)的過(guò)程。當(dāng)最后出現(xiàn)下圖,說(shuō)明boost庫(kù)生成成功。
在vs2010中配置相應(yīng)的屬性
打開(kāi)vs2010,在項(xiàng)目屬性中配置包含目錄和庫(kù)目錄,以及鏈接時(shí)的附加庫(kù)目錄,配置好之后點(diǎn)擊應(yīng)用,確定。
完成以上步驟之后,可以在創(chuàng)建的項(xiàng)目中加入boost中的頭文件,編譯項(xiàng)目,看看項(xiàng)目是否編譯正確。一般是沒(méi)有問(wèn)題的。
這里引入互斥鎖的頭文件,編譯正確。說(shuō)明boost庫(kù)引入正常。
但是對(duì)于初次使用boost庫(kù)的我來(lái)說(shuō),使用中還是碰到了一些問(wèn)題。互斥鎖原以為引入頭文件之后,就可以直接使用,我采用的聲明方式是metux m_mutex;,結(jié)果提示我多余;,凡是涉及到該互斥鎖變量的行都會(huì)出現(xiàn)錯(cuò)誤,經(jīng)一番努力才知道原來(lái)即使加入了頭文件#include <boost/thread/lock_guard.hpp>,也不能直接定義變量時(shí)使用metux m_mutex;而是需要寫為boost::mutex m_mutex;真是的,領(lǐng)悟的貧窮限制了我的想象。
備注:
其實(shí)我在下載之后編譯以及配置的過(guò)程中遇到了一些問(wèn)題,但是最后就都解決了,編譯的時(shí)候,初次是按照網(wǎng)上說(shuō)的輸入指令bootstrap回車,但是得到了一系列的錯(cuò)誤,看著是缺可執(zhí)行文件什么b2.exe,bjam.exe,我跟著錯(cuò)誤提示找到了bjam.exe所在的文件路徑,將其拷貝到boost_1_78_0目錄下,至于b2.exe這個(gè)文件,我就執(zhí)行了多次boostrap,還直接雙擊boost_1_78_0目錄下的bootstrap.bat讓其運(yùn)行,估計(jì)也就是這個(gè)過(guò)程生成的,最后我沒(méi)管其它,直接輸入指令bjam toolset=msvc-10.0 variant=debug,release threading=multi link=static回車,就等了一會(huì)兒生成了boost庫(kù)。
總結(jié)
以上是生活随笔為你收集整理的vs2010中引入boost库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: qt获取场景的缩略图
- 下一篇: 命令行编译java项目_命令行编译运行j