Qt运行项目直接crash,调试报CDB错误

原因:

项目缺少dll (直接将缺少的dll放到.exe文件路径下)

心中历程

这周在做tiff文件读取模块的移植,代码移植过去了,运行Debug直接报"The CDB process terminated.",我网上一查资料,找到最多的就是缺少dll。刚开始我以为是我链接的库的路径不对,但是我校对了很多次,没有任何问题。然后我就用release模式运行,一样是crash的。然后就开始找哪里导致的Crash,找到是用了tiff库的函数导致直接crash,因为我就只用了这个读取tiff内容的函数。我这里先排除tiff与其他库之前有冲突的可能性,因为有同事做过demo,没有冲突。然后我就想如果缺少dll的话,为什么另一个软件没有问题,那我就直接把他构建目录下所有的dll全部拷贝过来,直接运行,结果成功了,然后我就把不必要的dll全部删除,发现就是少了一个cudart64.dll。移植的时间真的搞的我心态都快奔溃了,因为一直找不到原因,还好功夫不负有心人,希望可以给正在为移植项目而一直crash的你一点帮助。


在补上一些内容吧,因为今天另一个同事的电脑上运行代码还是直接crash。
导致crash的原因还是缺少了dll,在这里我说在我是如何找到缺少的dll的。
首选上面说了我同事做了一个demo,不会有tiff库与另一个库有冲突导致crash的问题,所以我就把所有可能用到的dll都放到.exe路径(debug和release所需要的dll不同,但你全部先放进行也没关系),这时,如果直接运行你的程序没问题,那问题差不多就解决了,如果还是不行,那祝你好运。程序运行起来之后,我们需要知道哪里dll是我们真的需要的,直接运中.exe下所有的文件,选择删除。不要删除被占用的文件,因为这些都是你需要的,删除之后你就确定哪里是你要的dll了。

你可能感兴趣的:(QT异常问题,qt,开发语言,visual,studio)