我有静态C ++库,用MSVC和dll文件编译(库名为opennurbs)。我需要在项目中使用这个库,由mingw编译(我使用Qt创建者,但项目不使用qt库)。所以,我有未解决的外部因素。我认为名称错误的问题。 我怎么能把.lib文件转换成.a库? 我尝试使用nm命令,但它不起作用:“foo.dll中没有符号”。 外部“C”不起作用,因为它是C ++库。
答案 0 :(得分:4)
一般来说,您将无法使用使用另一个编译器构建的C ++ DLL。名称修改只是其中一个问题 - 对于异常处理,RTTI,内存管理甚至类布局本身(尤其是多重和虚拟继承)都没有兼容性保证,仅举几个潜在的问题。
一些建议(没有一个是理想的):
答案 1 :(得分:2)