问题描述:
将应用程序的一个动态库进行更换,原来的库是用vs2010生成的,新库是用vs2017生成的。
exe使用a.dll,a.dll使用b.dll,a.dll用vs2017生成(生成时没有问题),b.dll使用vs2010生成。运行exe提示上述错误。
exe单独使用vs2010或vs2017的dll都没有问题
exe使用vs2017生成
exe和dll版本均是32位的debug版本
原因分析:
可能是vs版本不一致造成的
问题解决:
在a.dll中还使用了gdald.dll,应该是gdald.dll有问题,换成gdal.dll就可以了
在尝试将一个使用VS2010生成的b.dll替换为VS2017生成的a.dll时,导致exe运行出错。尽管a.dll本身在生成时无误,但问题可能出在gdald.dll上。通过将gdald.dll替换为gdal.dll,问题得到解决。这表明不同VS版本可能导致兼容性问题,而库之间的依赖是解决问题的关键。
1万+

被折叠的 条评论
为什么被折叠?



