将 Qt 与 Visual Studio Code 结合使用 (Windows)

2024-02-13

安装了以下内容:

  • Visual Studio 代码 (1.45.1)
  • Visual Studio 2019 Community(为了使用 MSVCcl.exe编译器)
  • Qt 5.15.0(安装到 C:\Qt)

Visual Studio Code运行后已启动Visual Studio Command Prompt以便正确设置环境cl.exe. The ms-vscode.cpptools扩展已安装在 Visual Studio Code 中并且includePath被设定为:

"includePath": [
    "${workspaceFolder}/**",
    "${INCLUDE}",
    "C:/Qt/5.15.0/msvc2019_64/include/**"
],

这个文件hw.cpp编译并运行良好:

#include <iostream>
int main()
{
    std::cout << "Hello world!";
    return 0;
}

该命令使用于tasks.json is:

"command": "cl.exe",
"args": [
    "/Zi",
    "/EHsc",
    "/Fe:",
    "${fileDirname}\\${fileBasenameNoExtension}.exe",
    "${file}"
],

或者,从 Visual Studio Code 内的内置终端中,命令“cl /EHsc /MD /O2 hw.cpp /link /out:hw.exe”正确编译所有内容并hw.exe可以被执行。

但是当我尝试按如下方式使用 Qt 时,它无法编译:

#include <QString>
int main()
{
    QString test("Hello world!");
    qDebug() << test;
    return 0;
}

The compiler reports "fatal error C1083: Cannot open include file: 'QString': No such file or directory". IntelliSense does find QString.h, which opens when I press Ctrl and click QString (at the top).

我缺少什么?

UPDATE

感谢@rioV8的评论,我已经调查过了/link选项cl.exe。任务参数已更新为:

"args": [
    "/EHsc",
    "/MD",
    "/O2",
    "/IC:\\Qt\\5.15.0\\msvc2019_64\\include",
    "/IC:\\Qt\\5.15.0\\msvc2019_64\\include\\QtCore",
    "${file}",
    "/link",
    "/LIBPATH:C:\\Qt\\5.15.0\\msvc2019_64\\lib",
    "Qt5Core.lib",
    "qtmain.lib",
    "/OUT:${fileDirname}\\${fileBasenameNoExtension}.exe"
],

这稍微改善了情况。hw.cpp现在编译并生成hw.obj,但现在我收到链接器错误(每个错误一个.lib):

warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'

接下来是fatal error LNK1120: 2 unresolved externals.

越来越近,但仍然没有联系。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Qt 与 Visual Studio Code 结合使用 (Windows) 的相关文章

随机推荐

  • MySql查询时间间隔数据的直方图

    我有一个这种类型的事件输入 event user event start event end event type 插入到 MySql 表中 每个表都在自己的行中 以 user start 作为主键 我需要按时间间隔 例如分钟 查询类型的直
  • 如何调试Android的NFC实现?

    这个问题可以分解成多个更小的问题 最终结果是能够使用 gdb 等调试器在 Galaxy Nexus Android 4 1 设备的 C C NFC 实现中设置断点 以检查其内部状态 是否可以将 Galaxy Nexus 设备上的库替换为包含
  • Jenkins Windows Slave 忽略本地 Git 设置

    我已经将 Windows Jenkins 从机设置为 Unix Jenkins 主机 我正在运行 Windows 8 1 msysgit 1 9 5 和 Jenkins 1 616 当检查路径 文件名超过 255 个字符的存储库时 我收到
  • 如何使用 C# 将浏览文件按钮添加到 Windows 窗体

    我想在单击 浏览 按钮时选择本地硬盘上的文件 我不知道如何使用OpenFileDialog控制 谁能帮我 这些链接通过示例进行了解释 http dotnetperls com openfiledialog http dotnetperls
  • 无法加载资源:net::ERR_CERT_AUTHORITY_INVALID

    我正在通过 https 实现 Node js 脚本 Node js const options key fs readFileSync private key cert fs readFileSync cert crt This is ne
  • 使用 CSS/HTML 更改悬停时的图像

    我遇到这个问题 我已设置一个图像以在鼠标悬停时显示另一个图像 但是第一个图像仍然出现 并且新图像不会更改高度和宽度并与另一个图像重叠 我对 HTML CSS 还很陌生 所以我可能错过了一些简单的东西 这是代码 img src Library
  • VB.Net 将值传递给另一种形式

    我想知道如何将值从 form1 传递到另一个表单的公共子 问题是它说 在这种情况下无法访问 因为它是 私人 我尝试将 Form 1 Private Sub 更改为 Public Sub 但仍然存在相同的错误 我应该如何让它发挥作用 Publ
  • 如何使用 angular-cli (6.x) 创建 mono-repo 项目结构

    我想使用 angular cli 生成一个新的工作区 目前执行此操作的唯一方法是运行 ng new asdf cd asdf ng g application whatever 但随后所有的src 文件仍然存在 以及现在存储不一致的项目的原
  • JPA @Entity继承

    我一直在研究 JPA Hibernate Entity继承有一段时间了 似乎找不到任何可以解决我想要实现的目标的东西 基本上我希望能够定义一个 Entity根据需要包含所有列和表映射 然后我希望能够延长 Entity在许多不同的地点 有不同
  • 通过 WinAPI 确定 Intel HD 显卡版本

    因此 我尝试通过 WinAPI 函数获取有关显卡的信息 但有一个关于如何获取确切的卡信息的问题 我已经编写了调用 EnumDisplayDevices 的代码 并通过我的调用收到了 DeviceString Intel R HD Graph
  • C 宏,求两个数中的最小值

    我想用 define 创建一个简单的宏来返回两个数字中较小的一个 我怎样才能在 C 中做到这一点 提出一些想法 看看是否可以让它变得更加混乱 通常 define min a b a lt b a b 请注意 这会评估最小值两次 这是灾难的原
  • Python 或 C/C++ 中的 RTSP 库?

    我正在尝试寻找任何适用于 Python 或 C C 的 RTSP 流媒体库 如果没有 还有其他实时流解决方案吗 在 Python 或 C C 中实现 RTSP 有多容易或困难以及从哪里开始 try live555 http www live
  • 具有多重索引的 Pandas 划分 (.div)

    我有类似的东西 df pd DataFrame np random randint 2 10 size 5 2 df index pd MultiIndex from tuples 1 A 2 A 4 B 5 B 8 B df index
  • TransformerFactory - 避免网络查找来验证 DTD

    我需要为 XML 文档的离线转换进行编程 当使用以下命令加载原始 XML 文件时 我已经能够停止 DTD 网络查找 DocumentBuilderFactory factory factory DocumentBuilderFactory
  • 使用 libcurl 而不使用 dll

    我正在使用 Microsoft Visual C 2010 我需要制作一个不需要 libcurl dll 的应用程序 我在预处理器指令中定义 CURL STATICLIB 并链接到 libcurl lib libcurl static li
  • Nivo 滑块 + php

    我为网站创建了一个自定义 cms 并尝试使 nivo 滑块与我的数据库配合使用 但我的 while 循环出现问题 我只将图像的名称存储在数据库中 而图像本身存储在文件夹中 图像可以正常工作 但它们显示在实际幻灯片的上方 而实际的幻灯片已损坏
  • 如何使用 php 覆盖 Apache keep-alive 标头?

    在我的 httpd conf 中有 KeepAliveTimeout 1 我正在尝试覆盖 Apache KeepAliveTimeout 设置singlephp 脚本 不在整个服务器中 所以我有一个 php 脚本 header Keep A
  • 为什么使用“youtube.com/v”的 YouTube 视频无法加载

    请查阅这一页 http www islandcricket lk videos sri lanka cricket it feels great mathews talks about test series victory against
  • PHP shell_exec - 如果连接关闭如何终止进程?

    我有一个可用的 php 脚本 使用 shell exec 来执行一个外部程序 大约需要 30 秒才能完成 问题是 如果用户关闭浏览器或由于某种原因关闭连接 则使用 shell exec 执行的程序将继续运行 因为它的输出无法再发送给用户 有
  • 将 Qt 与 Visual Studio Code 结合使用 (Windows)

    安装了以下内容 Visual Studio 代码 1 45 1 Visual Studio 2019 Community 为了使用 MSVCcl exe编译器 Qt 5 15 0 安装到 C Qt Visual Studio Code运行后