Qt编译通过,运行时出现the process was ended forcefully问题的解决方案

**

Qt编译通过,运行时出现the process was ended forcefully问题的解决方案

**

Debug和Release模式下编译均能通过,调用外部函数也不会提示错误,但是运行就是出现:程序异常关闭,the process was ended forcefully。
造成这个错误的常见问题是:外部库引用错误,主要是工程有了声明但没有找到DLL。

针对这个问题我们采用以下几个步骤来解决:

  • 规划Qt工程

首先,我们在项目选项中关闭 Shadow build选项

在这里插入图片描述
这样之后,执行编译得到的debug和release目录就会出现在主目录下面:
在这里插入图片描述
这两个目录下包含了程序生成的中间文件,以及可执行程序。
但是其中很多的obj文件我们根本不需要去关注,因此我们创建bin目录,在bin目录下创建debug和release文件夹
然后在.pro文件中,指明可执行文件存放的位置:
在这里插入图片描述

  • 指明外部库的目录

接着,pro文件中我们指明了外部库的lib路径和include路径:

在这里插入图片描述

  • 将DLL放置在可执行文件目录下
    为了程序日后管理方便,我们可以考虑将lib文件和dll分开,dll文件放在可执行目录下。
    点击运行:
    在这里插入图片描述
    可以看到,中间文件不会出现在这里,只会出现在Qt默认的release下面。
    如果开启debug模式,生成的问题会自动生成到debug目录下,Qt自动对debug和release关键字做了替换。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值