为什么Qt项目exe本身不运行?

时间:2015-08-04 19:24:54

标签: qt

我安装了Qt,但是它的项目(exe文件)不是自己运行的。我在路径(Windows)中添加了以下内容:

  

C:\ Qt的\ Qt5.4.1 \工具\ mingw491_32 \ BIN;

     

C:\ Qt的\ Qt5.4.1 \工具\ QtCreator \ BIN;

     

C:\ Qt的\ Qt5.4.1 \ 5.4 \ mingw491_32 \ BIN;

     

C:\ Qt的\ Qt5.4.1 \工具\ mingw491_32 \ i686的-W64-的mingw32 \ BIN;

     

C:\ Qt的\ Qt5.4.1 \工具\ mingw491_32 \选择\ BIN;

但它仍然会返回错误。怎么解决?

另外通过使用 windeployqt.exe 我有 nessesary dll 文件,所以与他们在同一个目录中的应用程序在任何PC上运行都很完美,但我找不到哪里将它们放在一个地方和应用程序中,将其文件放在另一个目录中以便它运行。

可以吗? (当应用文件1mb或更少时,dll-s约为22mb)

2 个答案:

答案 0 :(得分:1)

如果您想查找应用所需的所有dll文件,请使用dependency walker tool。它会告诉你什么dll缺失,你可以设置PATH来满足所有需求。

如果您想与他人共享您的应用程序您需要添加所有dll。你已经找到了正确的方法(windeployqt)。

如果您想将应用的exe与Qt的dll文件分开,可能会很困难。您可以尝试准备一个启动程序,它将使用dll将PATH设置到目录,然后从另一个目录运行exe。然而,您可能仍然有问题,因为Qt不仅需要dll而且还需要其他文件(翻译,插件等)。将exe和所有这些东西放在一个目录中就是简单的解决方案。添加漂亮的图标到开始菜单;)

答案 1 :(得分:0)

如果您将QtCreator bin添加到您的路径以及mingw qt,那么有两个版本的qt。 QtCreator可能已使用不同版本的Qt进行编译,因此请尝试将其从路径中删除。

这一行 C:\ Qt的\ Qt5.4.1 \ 5.4 \ mingw491_32 \ BIN;

应该足以引用所有的Qt dll。