日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C++?win系統如何用MinGW編譯Boost庫_C 語言

作者:后廠村路蔡徐坤 ? 更新時間: 2023-01-14 編程語言

在win端如果使用非VS編譯器,則需要使用Boost.Build來創建自己的二進制文件。

本文,主要記錄win系統用MinGW編譯Boost庫的過程。

1、下載

boost下載并解壓縮,下載鏈接:https://www.boost.org/users/history/

2、編譯鏈接庫

1)創建三個獨立文件夾

#后期可以刪除,安裝Boost.Build
mkdir D:\boost_build
#后期可以刪除,存放
mkdir D:\boost_1_76_0\build
#后期不可刪除,存放庫文件的
mkdir D:\boost

2)安裝Boost.Build

cd D:\boost_1_76_0\tools\build
bootstrap.bat gcc
b2 install --prefix="D:\boost_build" --toolset=gcc

3)編譯鏈接庫

先將cd D:\boost_1_76_0\

cd D:\boost_1_76_0\
b2 --build-dir="D:\boost_1_76_0\build" --prefix="D:\boost" --toolset=gcc --build-type=complete stage

4) 刪除

編譯完成后,可以把D:\boost_build和D:\boost_1_76_0\build兩個目錄刪掉,最終的boost庫安裝在D:\boost下面

3、鏈接庫測試

gcc -I"D:\boost\include\boost-1_76" -L"D:\boost\lib"
INCLUDE += D:\process\boost_1_77_0
LIB += D:\process\boost_1_77_0\stage\lib

測試代碼:

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

using namespace boost;

void helloA() 
{ 
	std::cout << "I'm thread A !  --- Start " << std::endl; 
	sleep(10);
	std::cout << "I'm thread A !  --- OVER " << std::endl; 
}

void helloB() 
{ 
	std::cout << "I'm thread B !  --- Start " << std::endl; 
	sleep(10);
	std::cout << "I'm thread B !  --- OVER " << std::endl; 
}

int main(int argc, char *argv[])
{
	std::cout << "Hello world!" << std::endl;

	boost::thread thrdA(&helloA);
    boost::thread thrdB(&helloB);  
    thrdA.join();
    thrdB.join(); 
}

總結

原文鏈接:https://blog.csdn.net/zeye5731/article/details/127380251

欄目分類
最近更新