Создание исполняемого файла для Windows с использованием Qt в Linux - PullRequest
6 голосов
/ 08 июня 2009

Можно ли создать исполняемый файл в Linux для Linux и Windows, используя один и тот же код Qt с Eclipse? Или необходимо установить Qt Creator на мою Linux-машину?

Ответы [ 5 ]

3 голосов
/ 08 июня 2009

Если вы хотите собрать бинарный файл windows на linux, вам нужно сделать кросс-компиляцию. Это означает, что вам нужно установить кросс-компилятор Windows, а также библиотеки, с которыми вы связываете и кросс-компилятор . Для базовой программы Qt это означает, что вам нужен как минимум кросс-скомпилированный Qt.

Кросс-компиляция не имеет ничего общего с Eclipse или Qt Creator. Я не думаю, что оба поддерживают кросс-компиляцию из коробки, но я думаю, вы могли бы заставить их сделать это.

0 голосов
/ 03 июня 2010

исполняемый файл в windows не работает в Linux и наоборот Вы можете сделать это:

#ifdef Q_WS_X11
QString *OS=new QString("Linux");
std::cout << OS->toStdString() << std::endl;
#endif
#ifdef Q_WS_WIN
QString *OS=new QString("Windows");
std::cout << OS->toStdString() << std::endl;
#endif
#ifdef Q_WS_MACX
QString *OS=new QString("Mac");
std::cout << OS->toStdString() << std::endl;    
#endif
0 голосов
/ 08 июня 2009

Для Eclipse есть официальный плагин .

Интеграция Qt Eclipse для C ++

Плагин Eclipse может быть использован для создавать программы, используя любую версию Qt с 4.1.0.

0 голосов
/ 08 июня 2009

Некоторое время назад я пытался сделать это, и я нашел ресурсы о кросс-компиляции здесь: http://silmor.de/qtstuff.cross.php. Наконец я скомпилировал версию win32 под Windows, из-за нехватки времени, но это должно быть возможно.

0 голосов
/ 08 июня 2009

Конечно, в Linux можно установить Qt Creator. Тот же код Qt можно использовать для компиляции в Linux / Win32 / Mac. Тем не менее, вы должны использовать платформо-зависимый код только в пределах:

#ifdef Q_OS_WIN32
    qDebug() << "Executable files end in .exe";
#endif

Существуют другие определения для других операционных систем. Если вы это сделаете, вы в безопасности и можете поспорить, что это кроссплатформенный код. : -)

Пожалуйста, обратитесь http://www.qtsoftware.com/downloads и загрузите Qt SDK для Linux / X11 . Он содержит Qt Creator, Assistant, Designer и так далее.

...