Создание нового класса c ++ в Unreal с Visual Studio дает мне слишком много ошибок - PullRequest
0 голосов
/ 21 июня 2020

У меня проблема с созданием новых классов C ++. Например, a сделал контроллер Player, и он компилируется, но когда он открыт в Visual Studio, он говорит, что существует слишком много ошибок для правильной работы IntelliSense. Моя версия Unreal Engine - 4.25, а версия Visual Studio 2019 - 16.6.2

Затем он сходит с ума в Списке ошибок с 15390 ошибками

Severity    Code    Description Project File    Line    Suppression State
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformTLS.h"  TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformTLS.h 8   
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformTime.h" TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformTime.h    7   
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformString.h"   TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformString.h  6   
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformProperties.h"   TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformProperties.h  11  
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformProcess.h"  TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformProcess.h 7   
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformMisc.h" TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformMisc.h    7   
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformMemory.h"   TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformMemory.h  7   
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformMath.h" TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformMath.h    7   
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformAtomics.h"  TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\PlatformAtomics.h 8   
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformCompilerSetup.h"    TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\Platform.h    1024    
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatform.h" TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\Platform.h    135 
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMPlatformCompilerPreSetup.h" TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\Platform.h    81  
Error (active)  E1696   cannot open source file "UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMCriticalSection.h"  TestingCode C:\Program Files\Epic Games\UE_4.25\Engine\Source\Runtime\Core\Public\HAL\CriticalSection.h 7   

Ответы [ 2 ]

2 голосов
/ 22 июня 2020
  1. Go в папку решения VS. Удалите следующие папки: ".vs", "Intermediate", "Saved"
  2. Удалить решение (файл * .sln). Сохраните * .uproject
  3. Щелкните правой кнопкой мыши * .uproject в проводнике, нажмите «переключить версию нереального движка» и выберите текущую версию движка. Файлы проекта и решения будут восстановлены.
  4. Откройте свое решение vs. Ваши сгенерированные файлы будут отсутствовать, поэтому нажмите кнопку «построить».
  5. Go выберите Инструменты-> Параметры-> Текстовый редактор-> Дополнительно, установите «Восстановить базу данных» на «true» и перезапустите Visual Studio
  6. Подождите и молитесь, чтобы это сработало (хотя у меня сработало)
0 голосов
/ 22 июня 2020

У меня что-то подобное почти ежедневно. Мой совет - не полагаться на IntelliSense, когда дело касается ошибок, и изменить окно «Ошибки» в Visual Studio, чтобы просто отображать ошибки «Только сборка».

При сборке вы получите только настоящие ошибки которые на самом деле портят вашу сборку. Поскольку UnrealHeaderTool на самом деле создает большой объем кода в фоновом режиме, некоторые вещи недоступны при создании нового класса или методах рефакторинга. ожидая, пока IntelliSense догонит. Исправить ошибку типа «не удалось найти этот файл» или «неопределенный тип» в компиляторе должно быть намного проще, чем пытаться сообщить IntelliSense, что существуют макросы, которые не являются макросами препроцессора, а являются макросами UHT.

Если вы просто будете придерживаться ошибок сборки, проблема в какой-то момент исчезнет go. По крайней мере, для меня это так.

Также обратите внимание, что сборка Unreal, которую использует Unreal, может сломать файлы, с которыми вы даже не работали, потому что вы забыли включить, который уже был там, когда инструмент сборки объединил файлы в последняя сборка.

...