Лучшая установка Ubuntu для разработки 32-битных * и * 64-битных приложений Qt? - PullRequest
6 голосов
/ 02 октября 2009

Я занимаюсь разработкой приложения на основе qt и хотел бы разработать 32- и 64-разрядную версию приложения на одной машине, используя одни и те же источники, сценарии и т. Д. Машина представляет собой Ubuntu Jaunty 64bit, Intel Core i7, 8 ГБ оперативной памяти. Я знаю, что при запуске VMWare или VirtualBox все может заработать, но это не кажется хорошим решением, так как я хочу использовать процессор (i7) во всей его полноте. Я читал о chrooted окружении, и мне кажется, что это может быть установка, которую я искал: мне нужна машина для разработки, чтобы иметь возможность запускать только что созданные исполняемые файлы.

У вас есть опыт? Вы установили такой 32-битный chroot env на 64-битном хосте? Это хорошо работает? Как правильно его настроить?

Ответы [ 2 ]

5 голосов
/ 02 октября 2009

Я был в похожей, но не точной ситуации. Я разрабатывал приложения Qt4 для 32-битной Windows, работая на 64-битной Jaunty. Среда chroot'd даст вам то, что вы хотите, с незначительным раздражением необходимости использовать его для компиляции 32-битного приложения.

Что я сделал для компиляции для Windows, так это специально для этой цели установил кросс-компилятор. Вам, вероятно, не придется этого делать. Вероятно, вы можете обойтись без компиляции g ++ -m32 до 32 бит. Чтобы избежать необходимости редактировать make-файлы и такое огромное количество раз, вы можете создавать / изменять / использовать спецификации, поставляемые с Qt, так что вы можете выполнить «qmake -project && qmake -makefile spec blablabla» (Если я помню синтаксис команда правильно).

3 голосов
/ 02 октября 2009

Я тоже в похожей ситуации, и вот как я работаю:

Я использую собственную версию Qt. Я собираю Qt дважды, с теми же параметрами конфигурации, за исключением параметра -platform , для которого я установил linux-g ++ - 64 для первой сборки и linux-g ++ -32 для второй сборки. Я также использую другой -prefix для установки обеих версий в отдельных каталогах.

Я использую QtCreator для сборки своих приложений. Я добавил обе версии Qt в диалоге Опции -> Qt4 -> Qt версии. Затем я настроил две разные конфигурации сборки для своих проектов, с одинаковыми параметрами сборки, но с одной, использующей 32-битный каталог Qt, и одну, использующую 64-битный каталог Qt. Затем QtCreator позаботится обо всей магии, и мне просто нужно переключаться между конфигурациями сборки, чтобы иметь как 32-битное, так и 64-битное приложение Qt. Нет chroot, нет VM, нет ничего, просто простая сборка.

Хотя есть одна оговорка. Для сборки Qt для 32-битных версий, очевидно, требуются 32-битные версии большинства библиотек разработки (X libs, stdlibs и т. Д.), Которые легко доступны в Ubuntu Jaunty с помощью ia32-libs и lib32stdc ++ 6. Единственные библиотеки, которые мне не удалось найти для 32-битной разработки на 64-битной архитектуре, - это библиотеки gstreamer, то есть Phonon может не работать. Мне был нужен Phonon, поэтому я работал над этим, собирая Qt в виртуальной машине, а затем копируя установленный каталог Qt обратно на мой компьютер разработчика.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...