2012-03-08 94 views
0

如何运行一个已经在Qt IDE上编译和编译的程序,这样我就可以在任何计算机上运行该程序,而无需在该计算机上重新编译它。我是初学者所以裸回答这个问题。:)在没有IDE的情况下运行Qt程序

感谢

+0

你想从哪里运行它?如果您在Linux/Mac上的终端上,您只需转到可执行文件的目录并运行'./ '来运行它。 – twain249 2012-03-08 14:45:05

+0

是的,我想单击由IDE制作的可执行文件(在调试文件夹中)以启动程序。但在Windows中,当我点击它,它会给出错误,并不会启动它。 – 2012-03-08 14:48:36

+0

你应该可以通过命令行运行它。就像在Linux中一样,从命令行转到文件夹并运行可执行文件。 – twain249 2012-03-08 14:52:32

回答

2

有几个部分的问题。

1)您需要为每个您希望使用的体系结构编译它。

2)每个体系结构都有一组Qt动态库,它们也需要可用。

3)一些体系结构具有易于部署的机制。 EG,在mac you can run "macdeployqt" to get the libraries into the application directory. For nokia phones (symbian, harmattan (N9), etc) QtCreator has a deploy step that will build a package for the phone and even include an icon.

4) For systems without such a feature, like linux and windows上,您需要分发二进制文件并要求用户使用Qt,或者打包包含所需Qt库的目录/ zip并分发。

+0

我将在所有的Windows OS机器上运行它。我编的程序也是在Windows上编译的!那么,我应该用我的程序来保存哪些库,以便在不重新编译的情况下在其他PC上运行它? – 2012-03-08 14:56:15

+0

这取决于您在.pro文件中需要的模块。通常情况下,从最小值开始并在那里运行(在控制台中)时,实际上会发生错误,告诉您缺少什么。 – 2012-03-08 15:07:35

+1

我添加了一个链接到windows的单词,以便它将您带到专门描述您在Windows上的选项的页面。 – 2012-03-08 15:09:07

1

它不会启动,因为它无法找到依赖关系。当您在Windows上时,这些库可以移动到与您的应用程序相同的目录中。为了找到丢失的库,使用dependency walker

我敢肯定这些库未找到:

  • Qt的动态库(可在Qt的bin目录中找到,把DLL)
  • 的用于编译的C动态库。如果你是创建者并且使用默认设置,它将会是mingw-xxx(可以在Qt安装目录中找到,不知道确切位置)
相关问题