[英]Trouble with VS Code not linking the Windows 10 SDK libraries or included header files
我在安装 VS Code 以编译基本的 C++ 脚本时遇到了一些问题。
我安装所有东西的方式(我已经多次这样做了)是首先将 Visual Studio 安装程序安装到默认位置。 Once that was complete, I installed Visual Studio 2019 Community with the desktop c++ development, and c++ game development modules into their default install directories as well (These include the most recent windows 10 sdk, and C runtime environment, etc). 然后我也将 VS Code 安装到了默认位置。
要打开 VS Code,我使用开发人员命令提示符并输入“code”,然后按 Enter。 然后我还安装了 Microsoft C/C++ 扩展。 我创建了一个新文件,我们称之为“example.cpp”,其中包含以下内容:
int main()
{
return 0;
}
当我在导航到文件的位置并运行“cl example.cpp”命令后从 VS Code 终端编译它时,我收到以下错误:
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
正如我发现的那样,这是由于 %LIB% 和 %LIBPATH% 变量没有引用系统上安装的 Windows 10 SDK 库。 我已经设法通过手动设置指向正确文件夹的“LIB”和“LIBPATH”系统环境变量来解决这个问题,但是我知道这是一种非常混乱的修复方法,一旦我转向虚幻引擎可能会搞砸. 话虽如此,在我尝试了一个简单的 Hello World 程序之前,我能够毫无问题地编译和运行上述代码:
#include <iostream>
int main()
{
std::cout << 'Hello World!';
return 0;
}
编译时在哪里产生以下错误:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include\yvals.h(12):
fatal error C1083: Cannot open include file: 'crtdbg.h': No such file or directory
这让我相信 %INCLUDE% 路径也没有设置为指向 Windows 10 SDK 包括,为了确认这一点,我进入了开发人员命令提示符并运行了一些回显命令,这是我的结果:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>echo %INCLUDE%
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\ATLMFC\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>echo %LIBPATH%
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\ATLMFC\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\lib\x86\store\references;C:\Windows\Microsoft.NET\Framework\v4.0.30319;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>echo %LIB%
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\ATLMFC\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\lib\x86;
据我目前所知,这些路径应该引用 SDK 的包含文件夹,以及包含 kernel32.lib 文件的 bin 文件夹。 现在无需再次手动创建系统环境变量,我想知道是否可以在开发人员控制台中使用一个命令,将所需的 SDK 路径添加到 %INCLUDE%、%LIB% 和 %LIBPATH% 变量中? 还是我只是在做这完全错误的事情?
任何和所有建议都非常感谢,如有必要,我非常乐意提供更多信息。
更新:根据要求,我的 VS Code JSON 文件。
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}
确保以管理员身份运行开发人员命令提示符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.