У меня возникают проблемы с установкой VS Code для компиляции даже базового c C ++ скрипта.
Я все установил (и делал это несколько раз) сначала установка установщика Visual Studio в расположение по умолчанию. Как только это было завершено, я установил Visual Studio 2019 Community с настольными модулями разработки на C ++, а также с модулями разработки игр на C ++ в их каталоги установки по умолчанию (в их число входят самые последние windows 10 sdk и C среда выполнения и т.д. 1031 *). Затем я установил VS Code в расположение по умолчанию.
Чтобы открыть VS Code, я использую командную строку разработчика и набираю «код», затем нажимаю Enter. Затем я также установил расширение Microsoft C / C ++. Я создал новый файл, назовем его 'example. cpp', который содержит следующее:
int main()
{
return 0;
}
Когда я компилирую его из терминала VS Code после перехода к местоположению файла и запуска 'cl example. cpp ', я получаю следующую ошибку:
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
Как я обнаружил, это связано с тем, что переменные% LIB% и% LIBPATH% не ссылаются на библиотеки Windows 10 SDK установлен в системе. Мне удалось обойти это, вручную установив переменные системной среды LIB и LIBPATH, указывающие на правильные папки, однако я знаю, что это довольно беспорядочный способ исправить это и может все испортить, когда я перейду к движку Unreal . При этом я смог скомпилировать и запустить приведенный выше код без проблем, пока я не попробовал простую программу 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;
Насколько мне известно, в этих путях должна быть ссылка на папку include SDK, а также на папки bin, содержащие файл kernel32.lib. Теперь, не создавая вручную переменные системной среды снова, мне интересно, есть ли команда, которую я могу использовать в консоли разработчика, которая добавит пути SDK, необходимые для переменных% INCLUDE%,% LIB% и% LIBPATH%? Или я просто ошибаюсь?
Любые советы более чем приветствуются, и я более чем рад предоставить дополнительную информацию, если это необходимо.
Обновление: по запросу, мой код VS 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
}