Windows 如何在用msvc构建的mingw中使用boost库

Windows 如何在用msvc构建的mingw中使用boost库,windows,visual-c++,boost,compilation,mingw,Windows,Visual C++,Boost,Compilation,Mingw,我用msvc构建了boost库。我想用mingw链接到我的程序。正如标题所问,我如何才能做到这一点? 当我尝试链接boost库时。编译器建议找不到boost库的符号。引用mingw wiki: 使用不同编译器创建的对象文件和静态库[…]通常无法链接在一起。这个问题不是MinGW特有的:许多其他编译器是互不兼容的。如果可以的话,从源代码使用相同版本的编译器构建所有内容 在同一页中说明,如果需要,可以使用来自不同编译器的动态(共享)库,前提是为要使用的库提供C接口。然后,您的程序将使用此接口(C包装

我用msvc构建了boost库。我想用mingw链接到我的程序。正如标题所问,我如何才能做到这一点? 当我尝试链接boost库时。编译器建议找不到boost库的符号。

引用mingw wiki:

使用不同编译器创建的对象文件和静态库[…]通常无法链接在一起。这个问题不是MinGW特有的:许多其他编译器是互不兼容的。如果可以的话,从源代码使用相同版本的编译器构建所有内容

在同一页中说明,如果需要,可以使用来自不同编译器的动态(共享)库,前提是为要使用的库提供C接口。然后,您的程序将使用此接口(C包装器库)与Boost通信,方法是将此接口库的头包含在extern“C”中。可以找到这样做的示例


然而,在您的情况下,这并不可取,因为您必须在自己编写的C接口中一个接一个地公开希望使用的Boost中的所有内容。您可能会发现,使用编译程序时使用的编译器编译库要容易得多。

那么我该怎么做呢?我应该在包含boost库时添加extern“C”吗?此外,我的boost库是共享库。@MXLWLW我最初的回答有点误导,我对它进行了编辑以提供更好的解释。