1. 程式人生 > >Visual Studio 2013 配置Boost庫。 如何編譯和選擇,遇到無法開啟檔案“libboost_thread-vc120-mt-gd-1_58.lib的解決辦法

Visual Studio 2013 配置Boost庫。 如何編譯和選擇,遇到無法開啟檔案“libboost_thread-vc120-mt-gd-1_58.lib的解決辦法

來源:http://www.th7.cn/Program/cp/201508/522064.shtml

1.到官網下載最新的boost,www.boost.org 這裡我下載的1-58版本

2.解壓

3.從開始選單開啟VS的Visual Studio Tools,選擇X86命令提示(感覺應該也可以用Dos)

4.到解壓目錄下,例如我解壓到D盤,則進入D盤,進入boost_1_58_0目錄,然後執行bootstrap.bat檔案。稍等一小會就OK。

5.此時該資料夾下將會生成bjam.exe檔案。使用這個工具來編譯boost庫。按照網上的說法VS2013要指定輸出庫的型別,否則會缺少一個lib檔案。

這裡動態庫和靜態庫分別的編譯命令如下:

// 如果要獲取動態庫:

bjam install stage --toolset=msvc-12.0 --stagedir="C:\Boost\boost_vc_120" link=shared runtime-link=shared threading=multi debug release  

// 如果是要獲取靜態庫:

bjam install stage --toolset=msvc-12.0 --stagedir="C:\Boost\boost_vc_120" link=static runtime-link=static threading=multi debug release  

這裡我選擇靜態庫,當然可以根據自身的要求選擇更多。就在剛剛的命令列下繼續執行這個編譯命令。大約需要30分鐘。根據電腦配置,太低可能要一小時。然後等待編譯完畢。

6.此時編譯完成後,將上面在C盤的Boost庫拷貝到任意的位置等待使用。例如我拷到了D盤。

7.在VS中包含include和lib。C++常規中和聯結器中將目錄新增進去。


8.可以使用boost啦。

#include <boost/thread/thread.hpp>
#include <iostream>

void hello()
{
	std::cout << "Hello multi-thread!" << std::endl;
}

int main(int argc, char* argv[])
{
	boost::thread thrd(&hello);
	thrd.join();
	system("pause");
	return 0;
}



出錯!


擦,菜鳥啊真不懂啥疑問。想一想,剛剛說的,多執行緒?

解決辦法:


將MDd改成MTd。再去執行一下。就OK了。