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