C++ win系統(tǒng)如何用MinGW編譯Boost庫
更新時間:2022年12月15日 10:09:22 作者:后廠村路蔡徐坤
這篇文章主要介紹了C++ win系統(tǒng)如何用MinGW編譯Boost庫問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
在win端如果使用非VS編譯器,則需要使用Boost.Build來創(chuàng)建自己的二進制文件。
本文,主要記錄win系統(tǒng)用MinGW編譯Boost庫的過程。
1、下載
boost下載并解壓縮,下載鏈接:https://www.boost.org/users/history/
2、編譯鏈接庫
1)創(chuàng)建三個獨立文件夾
#后期可以刪除,安裝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(); }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。