gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 14:52:13 33 4
gpt4 key购买 nike

已安装以下内容:

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

Visual Studio Code 在运行 Visual Studio 命令提示符 后启动,以便为 cl.exe 正确设置环境。 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中使用的命令是:

"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;
}

编译器报告“fatal error C1083: Cannot open include file: 'QString': No such file or directory”。 IntelliSense 确实找到了 QString.h,当我按下 Ctrl 并单击 QString(在顶部)时它会打开。

我错过了什么?

更新

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

"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 external 问题

越走越近,却依然联系不上。

最佳答案

最近KDAB博客上有详细的攻略。

面向 Qt 开发人员的 VS Code 概述:

技术指南:

技术指南中的步骤与您描述的问题非常相似;-)

关于c++ - 将 Qt 与 Visual Studio Code (Windows) 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62467456/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com