VS Code无法连接Windows 10 SDK库或包含的头文件的问题

问题描述 投票:0回答:1

我在安装VS Code时甚至在编译基本C ++脚本时遇到一些问题。

我安装所有内容的方法(并且已经完成了多次)是首先将Visual Studio安装程序安装到默认位置。完成后,我将Visual Studio 2019 Community与桌面c ++开发一起安装,并将c ++游戏开发模块也安装到其默认安装目录中(这些目录包括最新的Windows 10 sdk和C运行时环境等)。然后,我也将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包含的内容,并确认这一点,我进入了开发人员命令提示符并运行了一些echo命令,这是我的结果:

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的include文件夹以及包含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
}
c++ visual-studio visual-studio-code linker-errors windows-10-sdk
1个回答
0
投票

确保您以管理员身份运行Developer Command Prompt。

© www.soinside.com 2019 - 2024. All rights reserved.