Кросс-компиляция в Eclipse CDT с Qt под Mac OSX - PullRequest
3 голосов
/ 07 августа 2011

Позвольте мне перечислить все, что у меня есть:

ОС: Mac OSX - 10.6.8

IDE: Eclipse CDT Indigo

Framework: Qt 4.7.2

Как известно, Qt не имеет интеграции с Eclipse на Mac, поэтому я установил все, используя это руководство здесь: http://www.hyper -world.de / en / 2009/05/13 / qt-and-eclipse-under-mac-os-x /

Мне удалось без проблем скомпилировать простую программу для MacOS.

Проблема в том, что мне нужно пересечьскомпилировать мои приложения для Windows и Linux.Но я новичок в кросс-компиляции, поэтому мне нужно несколько направлений:

  1. Я использовал этот кросс-компилятор для MacOS здесь: http://crossgcc.rts -software.org / doku.php.Ребята, вы думаете, что это лучший подход?

  2. Я в настоящее время использую автоматически сгенерированные make-файлы из Eclipse.Может ли Eclipse генерировать из одного проекта 3 разных выхода ОС без использования внешних компоновщиков?

  3. Если я отправлю другому разработчику этот проект, сможет ли он скомпилировать его под Windows или Linux (Ubuntu)?

  4. Если для этого или любых примеров файлов проекта для Eclipse с этими конфигами может быть предоставлено пошаговое руководство, я ценю.

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

Мы разрабатываем полнофункциональное кроссплатформенное приложение Qt и внедряем его в Windows, OSX, а также в 32-битной и 64-битной Linux.

По моему опыту, не существует простого способа "просто работает" кросс-платформенных сборок. То, что мы делаем, - это буквально построение на специализированных машинах для конкретной ОС (вы также можете использовать виртуальные машины). Конечно, это не тривиальное начинание. CMake может быть отличным способом попытаться объединить проект, чтобы он мог работать на всех платформах и, возможно, использовать Eclipse «на стороне» (или, если он работает с CMake, даже лучше). Нам нравится использовать Visual Studio, поэтому мы в итоге написали кучу скриптов для сборки на других машинах.

Нам пришлось использовать C ++ / Qt из-за нашей потребности в аппаратном доступе и скорости; если ваши потребности разные, есть гораздо более простые решения для кроссплатформенности, такие как Adobe Air.

0 голосов
/ 08 августа 2011

Я не могу помочь вам со всем, что вы просили.Буф, ты слышал о cmake?если вы используете cmake в своем проекте, он будет работать везде.Он генерирует make-файлы для вас.Посмотрите: http://www.vtk.org/Wiki/CMake_Cross_Compiling.

CMake находит расположение библиотек, связывает ваш код.Что касается QT, он также может moc файлы Q_OBJECT, так что вам не нужно об этом беспокоиться.

...