把嘎嘎 2024-07-25 16:15 采纳率: 43.9%
浏览 3
已结题

qt for Android 编译qt yuan代码

如题,qt for Android windows环境下如何编译qt源码
我尝试使用命令:configure -prefix R:\qtlearn\5.15.2\android -xplatform android-clang -nomake tests -nomake examples -android-ndk E:\AndroidSDK\ndk\21.3.6528147 -android-sdk E:\AndroidSDK

提示:libucrt.lib(exit.obj) : fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突
NMAKE : fatal error U1077: “"D:\Visual Studio 2015\VC\bin\link.EXE"”: 返回代码“0x458”

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-07-25 16:15
    关注

    以下内容由AIGC及阿里嘎多学长共同生成、有用望采纳:


    根据您提供的信息和遇到的问题,我将给出一个详细的解决方案来尝试解决您在Windows环境下编译Qt for Android源码时遇到的问题。

    问题分析

    错误提示“libucrt.lib(exit.obj) : fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突”表明链接器尝试将64位模块与32位目标程序链接在一起,这是不兼容的。

    解决方案

    1. 确认系统架构

      • 确保您的Windows系统是64位的。可以通过“系统属性”查看。
    2. 安装64位编译器

      • 如果您使用的是Visual Studio 2015,请确保安装了适用于64位应用程序的编译器和工具链。
    3. 设置环境变量

      • 确保PATH环境变量包含了64位编译器的路径。例如,对于Visual Studio 2015,路径可能类似于C:\Program Files (x86)\MSBuild\14.0\Bin
    4. 使用正确的configure命令

      • 根据错误信息,您可能需要使用win32-msvc平台选项,而不是默认的。命令示例如下:
        configure -prefix R:\qtlearn\5.15.2\android -xplatform android-clang -nomake tests -nomake examples -android-ndk E:\AndroidSDK\ndk\21.3.6528147 -android-sdk E:\AndroidSDK -platform win32-msvc -opensource -confirm-license
        
    5. 清理旧的编译文件

      • 在重新运行configure之前,运行make clean以清理之前的编译结果。
    6. 编译Qt

      • 在configure成功完成后,运行nmake来编译Qt。
    7. 示例输入和输出

      • 输入:正确的Qt源码路径、目标安装路径、NDK和SDK的路径。
      • 输出:如果configure命令执行成功,您应该看到类似以下的输出:
        Configuring...
        ...
        Configuration finished successfully
        
      • 如果有错误,configure命令将输出错误信息。
    8. 运行nmake

      • 一旦configure成功,运行nmake。如果一切顺利,您将看到编译进度,最终输出编译完成的消息。
    9. 检查NDK和SDK版本

      • 确保使用的NDK和SDK版本与Qt版本兼容。
    10. 查阅文档和社区

      • 如果问题依旧存在,查阅Qt的官方文档和社区论坛,看看是否有其他用户遇到类似问题并提供了解决方案。

    请注意,以上步骤是基于一般性建议,实际情况可能需要根据您的具体环境和配置进行调整。如果问题依然无法解决,可能需要更详细的错误日志来进一步分析问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月26日
  • 修改了问题 7月25日
  • 创建了问题 7月25日