在由 g++ (mingw) 编译的应用程序中使用由 Visual Studio 编译的库

是否可以在 Windows 上使用 g++ (mingw) 编译的应用程序中使用 Visual Studio 编译的库?

Is it possible to use a library compiled by visual studio in an application compiled by g++ (mingw) on Windows?

推荐答案

  • 如果库是用 C++ 编写的并公开 C++ 接口:否(因为 g++ 和 VC++ 的名称修改不同).

    • If the library is written in C++ and exposes a C++ interface: no (because the name-mangling differs between g++ and VC++).

      如果库是用 C 编写的静态库(或带有 extern "C" 接口):是的,但有一些注意事项.

      If the library is a static library written in C (or with an extern "C" interface): yes, but certain caveats apply.

      如果库是带有 C 接口的 DLL:是的,但是你'必须创建自己的导入库.

      If the library is a DLL with a C interface: yes, but you'll have to create your own import library.

相关文章