原文链接:https://www.fearlazy.com/index.php/post/308.html
现象:
Qt程序使用QtCreator运行没有问题。
想要调试程序,于是换成VS运行程序, 结果程序无法启动并提示0x000007b。
原因:
QtCreator可以运行VS不行,首先想到的是看看VS中项目的工作目录是否设置正确,经确认设置无误。
然后查看可执行程序与动态库的位数是否一致。在VS和QtCreator中使用的动态库 是一样的,所以也没有问题。
接着尝试直接双击运行程序,同样提示0x000007b(无论是VS编译的还是QtCreator编译的)。所以问题应该不在于VS。
考虑可执行程序缺失动态库,项目中可执行程序生成在bin目录下,而动态库放在bin的同级目录lib下,
将lib目录中的dll拷贝到bin目录下程序即可运行。造成以上现象的原因是QtCreator运行程序时会在lib目录下寻找需要的dll而VS不会。
通过查看QtCreator项目运行设置,发现其中有一个勾选项Add build library search path to PATH。取消勾选这一项QtCreator运行程序
也会崩溃。
解决办法:
将程序依赖的动态库拷贝到可执行程序的同级目录下。
---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。