现在c++builder10.3版本上生成了一个EXE和两个dll,EXE调用dll,执行时报错“EXE不能被正常打开”
之前在c++builder2010环境也有生成这些东西,2010上生成的EXE执行没有问题
然后把C++builder10.3生成的dll的任意一个替换成2010生成的dll,EXE就可以执行
跟踪了一下DEBUG,先是报出来stack overflow的错,如果把stack的最大值修正后,又出现了access violation at的错误
哪位大神知道这是为什么?又该如何解决呢?
非法访问。
1.确认一下dll和exe的编译版本是否一致,(必须都是64位或者32位的,位数不一致可能会出错)
2.写个最简单的dll(函数里面只加个打印或者赋值语句即可),让exe调用这个dll,看看会不会报错,如果不报错,就说明你原来写的dll库有问题。如果依然报错,很可能是版本不一致导致的。
如有帮助,请采纳一下,谢谢。