如何 link 使用 MinGW 提升 vcpkg

How to link vcpkg boost with MinGW

我有一段代码在 VS 2017 社区下运行良好。现在我不能再使用它了,我不得不切换到 MinGW。
我用 MinGW 编译了 boost 库,然后我将生成的库用于 link 我的程序:

这是我正在使用的命令:

g++.exe -DNDEBUG -DASCII -Wall -std=c++17 -static-libgcc -static-libstdc++ -L lib  -o prog.exe *.o -lboost_program_options-mgw81-mt-x64-1_69

这就是我得到的:

main.o:main.cpp:(.text+0x203): undefined reference to `__imp__ZN5boost15program_optionslsERSoRKNS0_19options_descriptionE'
main.o:main.cpp:(.text+0x3f9): undefined reference to `__imp__ZN5boost15program_options19options_description21m_default_line_lengthE'
main.o:main.cpp:(.text+0x406): undefined reference to `__imp__ZN5boost15program_options19options_description21m_default_line_lengthE'  
... (more lines like these)  

所有未定义的引用错误仅与 boost::program_options 调用有关(但我没有使用任何其他 boost 库)。
我试过:

问题:
似乎 vcpkg (${vcpkgRoot}/installed/x64-static/include) 中包含的 headers 不适用于 MinGW。
原来的命令 g++.exe -DNDEBUG -I'c:/vcpkg/installed/x64-windows-static/include' -L . main.cpp -lboost_program_options-vc140-mt 不起作用。在这里,我使用生成的 boost_program_options-vc140-mt.lib 文件和 headers 与 vcpkg.
我尝试使用 MinGW 构建 Boost 并使用了 .a 文件:g++.exe -DNDEBUG -I'c:/vcpkg/installed/x64-windows-static/include' -L . main.cpp -lboost_program_options-mgw81-mt-x64-1_69 也没有用。
但是这个命令有效 g++.exe -DNDEBUG -I'c:/boost-mingw/boost_1_69_0' -L . .\main.cpp -lboost_program_options-mgw81-mt-x64-1_69
所以这意味着 headers 特定于 Visual Studio..