将 MSVC 2017 添加到 Qt

Has*_*adi 6 c++ qt visual-studio

我想在我的 Qt 5.13 中正确添加 MSVC 2017 编译器,我知道在哪里添加它!但是,不知道:“如何?添加编译器的菜单中需要填写什么?”

我尝试了太多东西。关于 Qt 的主要问题,我有一个很长的故事!我的主要问题是:当我构建 Qt 应用程序时,控制台中出现“模块机器类型‘x64’与目标机器‘x86’冲突”!我将包括一些我尝试过的事情:

  • 尝试从 Qt 应用程序和控制台构建。
  • 尝试了所有从 Qt 自动检测到的编译器。还有更多,但无需提及其余部分。在我的默认套件中,大多数名称都按以下顺序排列:“Qt 5.13.0 for UWP 64/86-bits (MSVC 2017)”。我认为它必须是 MSVC 2017,所以我尝试设置 MSVC 2017(我有 MSVC 2019)。我发现编译器的主程序是:“cl.exe”。我去了Qt自动检测编译器,没找到!我试图通过从另一个已经为我制作的工具包中复制 qmake.exe 和 jom.exe 的命令来添加它。但是,我把编译器的类型'custom',因为我没有找到MSVC。这是错误的,这与其他类型有什么不同?

我接下来要解决的事情(实际上是尝试)是这样的:

图片

上图包含编译器的路径和Make的路径。我需要找到Make path工具,我认为它是必需的,不是吗?我试图在没有 Make 步骤的情况下运行程序,只有 qmake 步骤。这让我在运行程序时遇到了另一个问题:“尝试构建/部署程序时发生错误”。我正确填写了编译器的路径,但我不知道如何填写make路径,我什至不知道什么是make路径。请注意,Qt 没有给我任何结果,因为生成路径未正确填充!

我希望上面的故事中已经包含了所有内容,并且您需要的所有信息都已包含在内!

Ben*_*n T 6

您不能手动将 MSVC 添加到 Qt Creator。您确实需要自动检测它。

此外,检测机制根据 MSVC 版本和 Qt Creator 版本而变化。因此请务必使用最新版本的 Qt Creator(此时为 4.9.2)以确保检测到所有已安装的 MSVC 工具链。

还给出了您的评论,您似乎混淆了 64 位和 32 位。

x86表示 32 位,amd64表示 64 位。

这给出:

  • x86 生成 32 位 exe 的 32 位编译器
  • x86_amd64 生成 64 位 exe 的 32 位编译器
  • amd64 生成 64 位 exe 的 64 位编译器
  • amd_x86 生成 32 位 exe 的 64 位编译器

因此,如果您想生成 32 位程序,您可以使用x86amd64_x86。如果要生成 64 位程序,可以使用amd64x86_amd64

如果在某个时候你想编译一个 Qt porgam,但 Qt Creator 不能识别你的 MSVC 工具链,你仍然有一个解决方案:

  1. Qt 5.12.4 (MSVC 2017 64-bit)从开始菜单打开
  2. 在提示中运行 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat amd64
  3. 奔跑qmake和享受