Qt Creator - 使用交叉编译器设置工具包

时间:2015-05-07 14:01:39

标签: qt qt-creator qt5 cross-compiling

我试图使用Qt创建器来交叉编译项目,但是遇到了与Qt版本和我指定的编译器工具链相匹配的问题。

我创建了一个Kit设置一个Device,选择我的工具链作为编译器(在这种情况下是GCC ARM Linux),但我只有一个本地安装的系统Qt(Mint x86上的5.0.2)。

Qt Creator可以理解地告诉我编译器不能为Qt版本生成代码;我发现的所有指南建议使用为目标平台编译的Qt。这没有意义 - 它尝试运行为不同架构编译的qmake并失败

如何安装或配置/编译Qt版本以使用交叉编译器?也许我可以修改现有的一个来理解这个设置?

由于

2 个答案:

答案 0 :(得分:0)

这绝对有道理。使用为目标平台编译的Qt的建议是正确的。但这并不意味着您使用的是在目标平台上本机编译 的Qt。您需要使用Qt,它是在主机平台上使用特殊的交叉编译器编译的,用于您的目标平台。这样,qmake和其他构建工具在主机上仍可执行,但为目标创建配置。

因此,如果您有一个可以创建ARM代码的编译器,请使用它来构建您的Qt。然后,您可以使用此编译器/ Qt对在QtCreator中创建一个工具包。

答案 1 :(得分:0)

Greenflow是对的。我想补充一些信息。我已经在Windows上交叉编译了Qt 5.4.1,其中ARM Linux作为目标平台。您只需要正确配置构建。这就是我的所作所为:

    $row = mysqli_fetch_array($r, MYSQLI_ASSOC);
    $cr= sprintf ("%s", $row["credits"]);  //assign results to a variable

    $ttl=$cr+$credit;

所以Qt工具(qmake,moc等等)构建为Windows二进制文件,所有库都构建为Linux二进制文件。检查qtbase / mkspecs中的可用平台。