Windows平台MinGW GCC编译并使用C++ Boost
前提
操作系统:Windows 10,安装了MinGW,并将gcc.exe等程序添加到Path变量中。
在下载好的Boost目录中运行booststrap.bat
,该脚本自动生成编译程序b2.exe。
编译Boost为动态链接库
动态链接的编译脚本如下:
.\b2.exe stage --toolset=gcc --stagedir=“C:\SDK\boost_1_69_0\bin\gcc” --link=shard link=shared runtime-link=shared threading=multi debug release
该命令说明,使用的编译工具(--toolset
)为gcc,生成的静态、动态链接库目录(--stageddir
)为C:\SDK\boost_1_69_0\bin\gcc,Boost库采用动态链接的方式(--link=shared
),C/C++的运行库也采用动态链接的方式(--runtime-link=shared
),编译多线程版本(threading=multi
),生成目标为debug和release模式的库文件。
运行上述编译脚本(需要较长时间,大概10~15分钟左右),编译完成后,可以在C:\SDK\boost_1_69_0\bin\gcc\lib下看到编译完成的动态链接库文件(.dll)和静态链接库文件(.dll.a)。下面以boost的filesystem库为例,说明库文件的组成。
编译为动态链接库的一个Boost Library,编译为4个文件,以filesystem库为例:
libboost_filesystem-mgw82-mt-d-x32-1_69.dll
libboost_filesystem-mgw82-mt-d-x32-1_69.dll.a
libboost_filesystem-mgw82-mt-x32-1_69.dll
libboost_filesystem-mgw82-mt-x32-1_69.dll.