Создание исполняемого файла для Windows с помощью QT на Linux

Просто к делу. Вопрос был для scrollView, и у меня это работало нормально:

<ScrollView
  ref='_scrollView'
  onContentSizeChange={() => { this.refs._scrollView.scrollTo({x: 0, y: 0, animated: true}); }}
 >
6
задан Matthew Read 8 May 2012 в 20:44
поделиться

5 ответов

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

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

3
ответ дан 18 December 2019 в 05:06
поделиться

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

0
ответ дан 18 December 2019 в 05:06
поделиться

Конечно, в 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 и так далее.

0
ответ дан 18 December 2019 в 05:06
поделиться

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

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

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

-1
ответ дан 18 December 2019 в 05:06
поделиться

исполняемый файл в 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
-3
ответ дан 18 December 2019 в 05:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: