mingw65 和 msvc 没有二进制兼容。
给 c# 使用,肯定底层是 msvc 编译的对不对。
所以你最好在 qtcretaor 里面把编译器改成 msvc.
如果往深里面讲,mingw65 和 msvc 在 c 调用约定上面是二进制兼容的。但通常也会失败,因为在 mingw65 里面 malloc() 的内存,在 msvc 里面 free() 时就会崩溃。
总之,最简单的方案就是你用 msvc 就完事了。
【 在 olt 的大作中提到: 】
: 用QT creator,mingw,输出纯函数的dll,供其他软件工程师用C#调用。但总是失败,但自己用QT调用没有问题,用dll_viewer看函数名称也没问题。可能是什么原因?谢谢大家。
--
修改:hgoldfish FROM 47.243.39.*
FROM 47.243.39.*