我有静态C++库,用MSVC编译和dll文件(库名为opennurbs)。我需要在由mingw编译的项目中使用这个库(我使用的是Qt creator,但项目不使用qt库)。所以,我有一些未解决的外部问题。我认为名字混乱的问题。如何将.lib文件转换为.a库?我尝试使用nm命令,但不起作用:"No symbols in foo.dll“。外部"C“无法工作,因为它是C++库。
发布于 2012-01-24 06:56:05
一般来说,您不能从一个编译器构建的程序中使用用另一个编译器构建的C++动态链接库。名称损坏只是其中一个问题--没有针对异常处理、RTTI、内存管理甚至类布局本身的兼容性保证(特别是对于多重和虚拟继承),仅举几个潜在的问题。
一些建议(没有一个是理想的):
https://stackoverflow.com/questions/8977971
复制相似问题