fla*_*ngo 5 c++ mingw visual-c++
我有静态 C++ 库,用 MSVC 和 dll 文件编译(库名为 opennurbs)。我需要在项目中使用这个库,由 mingw 编译(我使用 Qt 创建者,但项目不使用 qt 库)。所以,我还有未解决的外部问题。我认为名称修改有问题。如何将 .lib 文件转换为 .a 库?我尝试使用 nm 命令,但它不起作用:“foo.dll 中没有符号”。Extern "C" 不起作用,因为它是 C++ 库。
一般来说,您将无法使用由一种编译器构建的 C++ DLL,以及由另一种编译器构建的程序。名称修改只是问题之一 - 异常处理、RTTI、内存管理甚至类布局本身(尤其是多重继承和虚拟继承)都没有兼容性保证,仅举几个潜在问题。
一些建议(都不理想):