如何使用命令行中的Qt 5.2和qmake构建ios可执行文件?

时间:2014-03-30 00:46:21

标签: ios xcode macos qt qt5

我多年来一直在桌面平台上使用Qt(从Qt3开始)。我最近做过相当多的QtQuick / QML,我有兴趣尝试Qt5.2的新奇ios支持(这将是我第一次冒险进入任何东西"移动" )。除了通常的MacOS应用程序之外,我无法弄清楚如何构建任何东西。

我有:

对于初学者来说,我会选择一些非常简单的东西;这个test.pro

TEMPLATE = app
TARGET = test
CONFIG += debug
QT += core gui quick
SOURCES += main.cpp

main.cpp

#include <iostream>
#include <QGuiApplication>
#include <QQuickView>

int main(int argc,char *argv[])
{
  QGuiApplication app(argc,argv);
  QQuickView view;
  view.setSource(QUrl::fromLocalFile("test.qml"));
  view.show();
  return app.exec();
}

(当然还有test.qml,但这里不相关)然后我尝试用

构建它
qmake -spec macx-xcode test.pro 

让我创建test.xcodeproj/,然后

xcodebuild -project test.xcodeproj -alltargets

构建了一堆东西...但只是产生了一个MacOS应用程序,尽管它在Mac上以./Debug/test.app/Contents/MacOS/test运行正常。

使用的qmake绝对是来自&#34; Qt 5.2.1 for iOS&#34;安装。

所以,如何更改以上内容以获取ios可执行文件我可以使用xcode的ios模拟器(包括理想情况下,从命令行启动模拟器)

Haven在搜索解决方案时有很多运气;我发现的所有内容似乎只是说&#34;然后你在xcode中打开xcodeproj文件并构建它#34;。我已经尝试过了(一旦我弄清楚需要将项目添加到工作区),它只是构建了一个MacOS应用程序,这让我怀疑qmake需要做某事,但如果它是简单的作为一个不同的-spec论点,我以为我已经发现了这一点。 (顺便说一句,我之前从未使用过xcode,而且如果可能的话,我宁愿通过命令行和脚本与ios构建的内容进行交互。)

1 个答案:

答案 0 :(得分:3)

修复结果很简单:

使用5.2.1/ios/bin/qmake代替5.2.1/clang_64/bin/qmake

我通过Qt Forum了解了这个重要的细节。

Haven尚未发现如何对iOS模拟器执行完整的命令行工作流程,但是从xcode启动它非常简单。