最好的Ubuntu设置为32位* AND * 64位Qt应用程序开发?

时间:2009-10-02 11:37:00

标签: qt 64-bit 32-bit chroot

我正在开发一个基于qt的应用程序,我想在同一台机器上开发32位和64位版本的应用程序,共享相同的源,脚本等。 该机器是Ubuntu Jaunty 64位,Intel Core i7,8gb内存。 我知道通过运行VMWare或VirtualBox可以使事情正常工作,但它似乎不是一个好的解决方案,因为我想使用处理器(i7)的完整性。 我读到了一个 chrooted 环境,在我看来它可能是我正在寻找的设置:我还需要开发机器才能运行刚刚构建的可执行文件。

你对此有什么经验吗?您是否在64位主机上设置了这样的32位chrooted env?它运作良好吗?如何正确设置?

2 个答案:

答案 0 :(得分:5)

我的情况类似,但不是很确切。我在64位Jaunty上运行时,正在为32位Windows开发Qt4应用程序。一个chroot的环境会给你你想要的东西,有一点小烦恼,不得不chroot到它编译你的32位应用程序。

我为Windows编译的目的是为此专门设置一个交叉编译器。你可能不必那样做。您可以使用g ++ -m32编译为32位。为了避免编辑makefile和如此多的时间,你可以创建/修改/使用Qt附带的specfiles,这样你就可以做“qmake -project&& qmake -makefile spec blablabla”(如果我记得的话)该命令的语法正确)。

答案 1 :(得分:3)

我也处于类似情况,这就是我的工作方式:

我使用自定义版本的Qt。我使用相同的配置选项构建Qt两次,除了 -platform 参数,我为 linux-g ++ - 64 设置了第一个构建和 linux -g ++ - 32 用于第二次构建。我还使用不同的 -prefix 将两个版本安装在不同的目录中。

我使用QtCreator构建我的应用程序。我在选项中添加了两个Qt版本 - > Qt4 - > Qt版本对话框。然后我为我的项目设置了两个不同的构建配置,具有相同的构建选项,但是一个使用32位Qt目录,一个使用64位Qt目录。 QtCreator然后处理所有魔术,我只需要在构建配置之间交替使用32位和64位Qt应用程序。没有chroot,没有VM,没有任何东西,只是一个简单的构建。

但有一点需要注意。构建32位的Qt显然需要32位版本的大多数开发库(X libs,stdlibs等),这些库很容易在Ubuntu Jaunty上用ia32-libs和lib32stdc ++ 6获得。我在64位架构上找不到32位开发的唯一库是gstreamer库,这意味着Phonon可能不起作用。我需要Phonon,所以我通过在VM中构建Qt,然后将Qt的已安装目录复制到我的开发机器上来解决问题。

祝你好运。