2013-04-24 67 views
0

我已经使用g ++ 4.7在Cygwin中编译了一个DLL。它工作正常。但是当我在MinGW中编译相同的代码并尝试使用DLL时。它通过访问被拒绝(CX00000005)错误导致程序崩溃,并将libstdC++ - 6.dll显示为问题DLL。为什么在MinGW中编译的DLL会崩溃?

任何帮助表示赞赏。 在此先感谢。

回答

0

当你运行你的应用程序时,你很可能会丢失一个MinGW dll或在PATH中有一个cygwin dll。一定要将正确的dll文件复制到exe文件所在的目录中。

+0

谢谢@rubenvb,我照顾过这样的事情。我删除了所有形式为PATH环境变量的cygwin路径,并仅从MinGW复制了所有dll。但问题依然存在。 – kimesh 2013-04-24 09:10:40

+1

通过Dependency Walker(绝对确定使用哪个DLL)和调试器来运行它,看看问题可能出在哪里。 – rubenvb 2013-04-24 09:11:52

+0

我通过将gcc从4.7.2降级到4.6.2来解决了这个问题。这是一个海湾合作委员会[错误55171](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55171)导致我的DLL崩溃。 – kimesh 2013-05-01 04:39:48