#c #qt #cross-platform #qt-creator
#c #qt #кроссплатформенность #qt-creator
Вопрос:
Я совсем новичок в C и Qt Creator, я использую Qt Creator в Mac OS X. Существует ли простой способ компиляции также для платформ Windows и Linux? В настоящее время я копирую исходный файл на компьютер с Windows (с Qt) и компилирую его, что занимает много времени.
Есть ли команда или что-то еще, что может получить все 3 исполняемых файла одновременно?
Ответ №1:
Он не поддерживается «из коробки», и в конечном итоге вы можете перепутать разные варианты
Я настоятельно рекомендую для такой цели:
- to use either centralised (svn) or distributed (git, hg) SCM
- to use continuus integration with 3 agents, each one in a different platform (can be VM or physical computer). You can use hudson or cruise control
Этот способ:
- you develop locally, on whatever platform you prefer
- you push / commit / submit your changes
- the buildbox compiles on all platforms (while you can still work on the next feature)
- ideally, you run your unit tests as well
- once all builds on all platforms are finished, you got a status and a build on all targets
Это довольно полезно, когда требуется иметь дело с несколькими версиями Qt или компилятора: возвращаемое значение определенно стоит времени, затраченного на настройку (и оно хорошо масштабируется)
Ответ №2:
Это далеко не тривиально, и Trolltech идея не понравилась (из-за того, что она стала сложнее, чем должна быть).
В Интернете есть программа кросс-компиляции приложений Qt / Win для Linux, которая поможет (только каталоги могут отличаться для Mac, команды должны быть одинаковыми).
После кросс-компиляции вам нужно будет создать ярлык для Qt Creator с пользовательским путем, к которому добавляется ваш каталог кросс-компилятора после остальной части ПУТИ. Таким образом, вы можете убедиться, что оно используется. Однако это не рекомендуется.
Почему бы просто не использовать правильно настроенную виртуальную машину?
Комментарии:
1. Я буду это делать, мне просто нужно простое решение. Думаю, пришло время VMware.
2. Ваш vmware не избавит вас от необходимости копировать файлы: по крайней мере, если вы используете SCM, вы можете исправить в виртуальной машине и отправить изменения в репозиторий, в противном случае трудно отслеживать и согласовывать изменения.
3. @Bruce: В Virtualbox есть функция «общие папки» (и я уверен, что VMware и др. сделайте тоже самое). Вы можете сделать исходную папку общедоступной и работать с точно такими же файлами без копирования или чего-либо еще.
4. Верно. Вам просто нужно убедиться, что у вас нет проблемы с окончанием строки и что вы строите в другом дереве, но это может сработать (хотя вы теряете другие преимущества SCM 🙂 )
5. @Bruce: ах да,
n
vsnr
. С этим можно справиться, используя правильный текстовый редактор (notepad ftw или, черт возьми, даже Visual Studio можно настроить правильно в этом отношении, я думаю)