WINDOW下本人在DEBUG的情况下编译了一个程序,打开程序一切正常,打算进行RELEASE编译,编译结束后打开release文件夹下的程序报出“QT无法定位程序输入点*于动态链接库 QtCore4.dll ”
多方查找原因发现网上有几种说法罗列下和大家分享:
1)PATH变量没有添加完全。
所以要在环境变量中添加俩个路径。一般会包含路径一个是 C:\Qt\2010.02.1\bin
另一个是 C:\Qt\2010.02.1\qt\bin。
把这俩个路径添加到PATH环境变量中去。如何添加后面再说。
2)PATH中有包含了以前的QtCore4.dll或者其他程序中也有QtCore4.dll
如果你以前使用的程序有这个QtCore4.dll,恰好也在环境变量中包含了这个。这样虽然在编译时release时不会报错,但在执行*.exe文件时会报错。
因为你编译时找的库就是你QT中的库,但执行是却不是这个库。
3)WINDOW中的PATH中路径顺序不对。
PATH的路径我个人认为会先找寻处在前面的路径,如果找到了库后面的路径就不会再找。比方说你以前的程序安装早,它的PATH环境变量比你安装的QT要靠前,所以在以前的安装环境变量中找到QtCore4.dll后不会再寻找你的QT中的环境变量里的QtCore4.dll。
所以为保险起见你在PATH的开头把这俩个路径编写进去,俩个的先后顺序不能颠倒。
一个是 C:\Qt\2010.02.1\qt\bin 这个路径中的QtCore4.dll就是release需要的库。
另一个路径是C:\Qt\2010.02.1\bin 貌似启动QT时需要这个否则启动不起来,这个路径里也有这个库。
这俩个路径添加完后重新编译release生成的。exe就可以执行了。
如何设置环境变量还是参考别人设置的吧,网上可以搜好多的。
(右击我的电脑>属性,在 “高级” 选项卡中,点 环境变量 看到“PATH”被选中,点击“编辑”就可以编辑了)