Не удается открыть включаемый файл: ‘stddef.h’: нет такого файла или каталога в cstddef QtCreator

#c #qt

#c #qt

Вопрос:

Когда я хочу скомпилировать свой проект Qt, отладчик показывает мне, что stddef.h не был включен …VC Tools MSVC14.27.29110 include. Я попытался решить эту проблему, добавив в системные переменные среды путь к наборам Win SDK (папка include). Но это не решает мою проблему. Также я установил Windows Universal CRT SDK, но это ничего мне не дало. Также я попытался переустановить VS и Qt, проверить Qt на наличие обновлений, добавить в переменную среды PATH путь к папке bin из папок MSVC и изменить include в cstddef с stddef.h на stddef. Это список моей переменной среды PATH:

  1. C:Program Файлы Microsoft SQL Server130ToolsBinn
  2. C:Program Файлыdotnet
  3. C:Program Файлы Microsoft SQL Server Клиентский SDK ODBC 170 Tools Binn
  4. C:Program Файлы (x86) Windows Kits 10 Windows Performance Toolkit
  5. C:Program Файлы (x86) Windows Kits10Include10.0.19041.0

И это путь к настройке среды пользователя:

  1. C:UserskaratAppDataLocalProgramsPythonPython37-32Scripts
  2. C:UserskaratAppDataLocalProgramsPythonPython37-32
  3. C:UserskaratAppDataLocalMicrosoftWindowsApps
  4. C:Program ФайлыJetBrainsPyCharm Community Edition 2019.2.1bin
  5. C:Userskarat.dotnettools
  6. %USERPROFILE%AppData LocalMicrosoft WindowsApps
  7. %USERPROFILE%.dotnettools

Не могли бы вы порекомендовать мне способ решения этой проблемы и рассказать, почему это вообще может произойти?

Комментарии:

1. К вашему сведению, «и измените include в cstddef с stddef.h на stddef» — не делайте этого. Вам не принадлежит этот заголовок. вам не нужно трогать заголовки реализации любого рода, и это не дает ничего, кроме гарантии, что у вашего кода никогда не будет шансов на создание где-либо, кроме вашего хоста (и, как вы можете видеть, даже это не гарантия). Кроме того, ПУТЬ не имеет никакого отношения к тому, где расположены заголовки. Обычно это происходит либо из переменной окружения system INCLUDE, либо из дополнений командной строки через -I path /I path переключатель ot. Использование командной строки для разработки собственных инструментов не повредит.

2. Я последовал вашему совету и решил проверить, что находится во включаемой переменной, но она просто не существует. Я попытался добавить его вручную, но это не дало никакого результата