我在安装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
}
确保您以管理员身份运行Developer Command Prompt。