Windows下MinGW(gcc)编译boost版本库--mgw.lib
Windows下MinGW(gcc)编译boost版本库--mgw.lib
第一步、安装MinGW64
参考:MSYS2&MingGW 载与安装、Pacman常用命令 - suntroop - 博客园 (cnblogs.com)
第二步、下载 Boost
Boost源码官方下载地址: Boost Downloads http://www.boost.org/users/download/
官方提供的使用msvc编译好的库下载地址(根据需要下载):Boost C++ Libraries - Browse /boost-binaries/1.83.0 at SourceForge.net https://sourceforge.net/projects/boost/files/boost-binaries/1.83.0/
这里介绍使用 MinGW 编译生成 版本库。
第三步、编译安装
1) 创建两个文件夹
mkdir E:\boost_1_83_0\build #后期可以删除,存放
mkdir E:\boost #后期不可删除, 存放库文件的
2) 构建Boost.自带 B2工具
方法一 PowerShell或cmd控制台,下面脚本两个参数都可以
bootstrap.bat mingw
bootstrap.bat gcc
PS E:\> cd E:\boost_1_83_0\
PS E:\boost_1_83_0> .\bootstrap.bat gcc Building Boost.Build engine ### ### Using 'mingw' toolset. ###
方法二 MinGW64 控制台, 下面脚本有无参数都可以
bootstrap.sh
Administrator@PC-20240806AENV MINGW64 /e/boost_1_83_0 # cd /e/boost_1_83_0
# ./bootstrap.sh Building B2 engine.. ### ### ### Using 'gcc' toolset. ### ### g++.exe (Rev1, Built by MSYS2 project) 14.2.0 Copyright (C) 2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
3)编译链接库, 并安装
b2 命令格式: b2 [options] [properties] [targets]。
[options] 如下
--help 帮助
--prefix=<PREFIX> 编译后安装路径,默认C:\Boost
--build-dir=<DIR> 工程构建中间文件所在目录 --build-type=<type> 编译类型,可选minimal(最小)、complete(完整),默认minimal。 --with-<library> 加入此参数,代表只编译的库。 --without-<library> 加入此参数,代表忽略编译的库。
--libdir=<LIBDIR> 库文件安装位置.
默认: <EPREFIX>/lib
--includedir=<HDRDIR> 头文件安装位置.
默认: <PREFIX>/include
--cmakedir=<CMAKEDIR> CMake配置文件xxx-config.cmake安装位置.
默认: <LIBDIR>/cmake
[properties] 如下
Properties: toolset=toolset 编译器类型 gcc 或 msvc . variant=debug|release 生成类型 debug 或 release
link=static|shared 链接库类型 static(.a/.lib) or shared(.so/.dll) threading=single|multi Whether to build single or multithreaded binaries runtime-link=static|shared 运行时链接类型 动/静态 Whether to link to static or shared C and C++ runtime.
[target] 如下
install stage
方法一 PowerShell或cmd控制台,
.\b2.exe install --build-dir="E:/boost_1_83_0/build" --prefix="E:/boost" toolset=gcc --build-type=complete threading=multi
方法二 MinGW64 控制台,
Administrator@PC-20240806AENV MINGW64 /e/boost_1_83_0 # ./b2 install --build-dir="E:/boost_1_83_0/build" --prefix="E:/boost" toolset=gcc --build-type=complete
4)删除中间文件
编译完成后,可以把 E:\boost_1_80_0\build 目录可以删掉,最终的boost库安装在 E:\boost 下面
第四步、检查关键生成物
4.1 CMake配置文件
boost_date_time-config.cmake
4.2 头文件
date_time.hpp
4.3 动态库文件
libboost_date_time-mgw14-mt-x64-1_83.dll
4.4 静态库
libboost_date_time-mgw14-mt-x64-1_83.dll.a
libboost_date_time-mgw14-mt-x32-1_83.a
浙公网安备 33010602011771号