【问题标题】:QT versions, kits and compilersQT 版本、工具包和编译器
【发布时间】:2015-10-09 12:42:45
【问题描述】:

我是 QT 新手,想知道 QT 版本、工具包和编译器之间有什么区别。在我的“构建和运行”选项卡中可用:

套件:

  • 桌面Qt 5.4.2 MSVC2013 64bit2
  • 桌面 Qt 5.5.0 MSVC2013 64bit

Qt 版本:

  • Qt 5.4.2 MSVC2013 64bit2 和一些 qmake.exe 路径
  • Qt 5.5.0 MSVC2013 64bit 和一些 qmake.exe 路径

编译器:

  • Microsoft Visual C++ 编译器 12.0(x86)
  • Microsoft Visual C++ 编译器 12.0(amd64)
  • Microsoft Visual C++ 编译器 12.0(x86_amd64)
  • Microsoft Visual C++ 编译器 12.0(x86_arm)
  • Microsoft Visual C++ 编译器 12.0(amd64_arm)
  • Microsoft Visual C++ 编译器 9.0(x86)
  • Microsoft Visual C++ 编译器 9.0(x86_amd64)
  • Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
  • Windows Mobile 5.0 智能手机 SDK (ARMV4I)

我尝试将 tesseract 3.02 与 QT 链接(之前我已将其与 Visual Studio 2013 成功链接)但出现了如下非常奇怪的错误:

但后来我记得在 VS 2013 中这是因为在 64 位编译中使用了 32 位库。我下载的 Qt 设置是“qt-unified-windows-x86-2.0.2-2-online.exe”,即它是 32 位的。现在我很困惑——我现在为我的项目 64 或 32 使用什么位,64 位和 64 位 2 有什么区别,必须是 32 位——编译器、qt 版本或工具包。如果有人可以简单解释一下什么是套件,qt版本和使用的编译器(我当然知道什么是编译器,但无法获得SDK和编译器之间的参考)。

【问题讨论】:

    标签: c++ qt sdk compilation tesseract


    【解决方案1】:

    Qt 版本是您从 digia 下载的 Qt 包(库、源代码、文档等),编译器是您机器上的编译器,而套件是这两者的有效组合。

    在你的情况下,你有:

    • Qt 5.4.2 64bit
    • Qt 5.5.0 64 位
    • Msvc 32 位和 64 位

    您可以将两个 Qt 版本(即 64 位)与 64 位版本的 msvc 编译器结合使用,但不能与其 32 位版本结合使用。

    【讨论】:

    • 好的,设置怎么样 - 它是 x86。我的 QT 应用程序是 32 位的(检查一下),但使用的 QT 包是 64 位的。 32位应用程序拥有使用64位库和编译64位项目的能力是不是很奇怪?
    • 其实并不奇怪,Qt 更喜欢以 32 位发布其二进制文件,以便它们可以在 32 位和 64 位上运行,但不要忘记 Qt 不是编译器,它是一个框架,可与许多人一起运行多个平台上的编译器。顺便说一句,如果您更喜欢 QtCreator 64 位,您可以下载源代码并自己编译。
    • 有没有什么方法可以在安装后添加新的 QT 版本而无需重新安装,就像在我的情况下我需要 32 位 QT 版本来组合?
    • Qt 安装程序应该允许将包添加到当前安装 IIRC
    • 在我的 Qt 5,.5 安装目录中,我有 MaintenanceToole.exe 程序,您可以使用它在 Qt 安装中添加/删除组件。我个人已经安装了 32 位和 64 位版本的 Qt 5.5.0
    猜你喜欢
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多