新手,Visual Studio 2015 配置Boost庫,如何編譯和選擇,遇到沒法打開文件「libboost_thread-vc140-mt-gd-1_63.lib「的解決辦法

1,到官網下載最新的boost,www.boost.org 這裏我下載的1-63版本.html

2,安裝,解壓後運行bootstrap.bat文件。稍等一小會就OK。ios

3,編譯boost庫。注意必定要使用VS2015的x86本機工具命令提示,這個能夠在VS2015的安裝菜單裏面找到。進入命令行提示,輸入下面的內容:bootstrap

bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=shared address-model=32

注意這裏指定的運行庫類型是動態連接庫:
runtime-link=shared多線程

固然也能夠選擇靜態庫,這樣指定便可:
runtime-link=static 工具

根據電腦配置,過低可能要30分鐘到一小時。而後等待編譯完畢。學習

編譯完後,屏幕會有下面的提示:ui

...updated 2376 targets...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    E:\boost_1_63_0\boost_1_63_0

The following directory should be added to linker library paths:

    E:\boost_1_63_0\boost_1_63_0\stage\lib

4,在VS2015中配置boost環境spa

項目屬性 > 配置屬性,而後看到下面的選擇項:
    常規 > 平臺工具集,選擇 Visual Studio 2015 (v140).
下面的兩個操做,須要你將上面boost編譯的時候告訴你的目錄替換到下面說的有關目錄信息裏面去。
    看到 "C\C++" 常規 > 附加包含目錄,增長"E:\boost_1_63_0\boost_1_63_0"
    最後,看到「連接器」常規 > 附加庫目錄,增長"E:\boost_1_63_0\boost_1_63_0\stage\lib".net

注意:必定要進行這樣正確的設置,不然編譯使用boost的程序老是會提示有問題。命令行


5,使用boost:

#include "stdafx.h"
#include <iostream>  
#include <boost/thread/thread.hpp>  
void hello()
{
std::cout << "Hello world, I'm a thread!" << std::endl;
}
int main()
{
boost::thread thrd(&hello);
thrd.join();
}

出錯:

錯誤 LNK1104 沒法打開文件「libboost_thread-vc140-mt-gd-1_63.lib」


解決辦法:

由於上面選擇的是以動態連接庫的形式編譯的boost庫,因此這裏要選擇 多線程調試 DLL(/MDd)。

再去運行一下。就OK了。

6,參考資料

新人,第一次使用C++,如今使用C++的人不多了,問了一圈都沒有人會這個問題,查找了不少資料,這裏貼出有用的參考資料:
http://blog.csdn.net/zhaoya_huangqing/article/details/47318479
標題跟我差很少,多謝這位博主了。

http://www.cnblogs.com/rok-aya/p/4986261.html
轉帖的老外的文章,頗有啓發性,跟本文的問題對路。

https://msdn.microsoft.com/zh-cn/vstudio/669zx6zc.aspx
MSDN官方的指導如何實現項目屬性,進階

http://www.cnblogs.com/mr-wid/archive/2013/01/22/2871105.html
http://www.cnblogs.com/wendao/archive/2011/11/28/article2_boost_bind.htmlboost學習的一些文章,值得參考。

相關文章
相關標籤/搜索