#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:
- C:Program Файлы Microsoft SQL Server130ToolsBinn
- C:Program Файлыdotnet
- C:Program Файлы Microsoft SQL Server Клиентский SDK ODBC 170 Tools Binn
- C:Program Файлы (x86) Windows Kits 10 Windows Performance Toolkit
- C:Program Файлы (x86) Windows Kits10Include10.0.19041.0
И это путь к настройке среды пользователя:
- C:UserskaratAppDataLocalProgramsPythonPython37-32Scripts
- C:UserskaratAppDataLocalProgramsPythonPython37-32
- C:UserskaratAppDataLocalMicrosoftWindowsApps
- C:Program ФайлыJetBrainsPyCharm Community Edition 2019.2.1bin
- C:Userskarat.dotnettools
- %USERPROFILE%AppData LocalMicrosoft WindowsApps
- %USERPROFILE%.dotnettools
Не могли бы вы порекомендовать мне способ решения этой проблемы и рассказать, почему это вообще может произойти?
Комментарии:
1. К вашему сведению, «и измените include в cstddef с stddef.h на stddef» — не делайте этого. Вам не принадлежит этот заголовок. вам не нужно трогать заголовки реализации любого рода, и это не дает ничего, кроме гарантии, что у вашего кода никогда не будет шансов на создание где-либо, кроме вашего хоста (и, как вы можете видеть, даже это не гарантия). Кроме того, ПУТЬ не имеет никакого отношения к тому, где расположены заголовки. Обычно это происходит либо из переменной окружения system INCLUDE, либо из дополнений командной строки через
-I path
/I path
переключатель ot. Использование командной строки для разработки собственных инструментов не повредит.2. Я последовал вашему совету и решил проверить, что находится во включаемой переменной, но она просто не существует. Я попытался добавить его вручную, но это не дало никакого результата