VS2017 жалуется на "FMeshDrawSingleShaderBindings не определён". В UE4 всё компилируется без проблем и объект создаётся на сцене. Но студия со времен начинает жаловаться на переменную, которая ссылается на данный тип с ошибкой:
Ошибка (активно) E0434 не удается инициализировать ссылку типа "FMeshDrawSingleShaderBindings &" (квалифицируется как неконстантная) со значением типа "FMeshDrawSingleShaderBindings"
Проблема появилась в следствии использования документации по UE4 Первый урок. Добавил заголовочник с именем проекта, изменил "MinimalCore.h" на "Engine.h" (в сети прочитал что это лучше, так как компилится быстрее).
main.h
#include "Engine.h"
Далее добавил строку ниже, при добавление VS2017 начала жаловаться на GENERATED_BODY()
, что как бы по дефолту в каждом проекте. Гуглил ответы были, пробовал не особо помогло, но в конце концов руками исправил. Исправил просто поменяв либу то, что выше.
...
UParticleSystemComponent* OurParticleSystem;
...
После довабил ещё код (первые две строки дефолт в конструкторе и методе) и вроде бы всё ок.
ASpherePawn::ASpherePawn()
{
// Set this pawn to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
AutoPossessPlayer = EAutoReceiveInput::Player0;
}
// Called when the game starts or when spawned
void ASpherePawn::BeginPlay()
{
Super::BeginPlay();
USphereComponent* SphereComponent = CreateDefaultSubobject<USphereComponent>(TEXT("RootComponent"));
RootComponent = SphereComponent;
SphereComponent->InitSphereRadius(40.0f);
SphereComponent->SetCollisionProfileName(TEXT("Pawn"));
}
И тут студия начала жаловаться на FMeshDrawSingleShaderBindings
не определён. Перейдя по ошибке в заголовочник "VertexFactory.h"
студия выдала ошибку, что ShaderBindings
не определён. Участок кода из "VertexFactory.h"
привёл ниже
void GetElementShaderBindings(
const class FSceneInterface* Scene,
const FSceneView* View,
const class FMeshMaterialShader* Shader,
bool bShaderRequiresPositionOnlyStream,
ERHIFeatureLevel::Type FeatureLevel,
const FVertexFactory* VertexFactory,
const struct FMeshBatchElement& BatchElement,
FMeshDrawSingleShaderBindings& ShaderBindings,
FVertexInputStreamArray& VertexStreams
) const
{
if (Parameters)
{
checkSlow(VertexFactory->GetType() == VertexFactoryType);
checkSlow(View || VertexFactoryType->SupportsCachingMeshDrawCommands());
Parameters->GetElementShaderBindings(Scene, View, Shader, bShaderRequiresPositionOnlyStream, FeatureLevel, VertexFactory, BatchElement, ShaderBindings, VertexStreams);
}
}
Сам вопрос: С чем может быть связанна данная проблема в VS2017, так как код компилируется в EU4? Прежде настроил VS2017 по гайду данному в документации к UE4.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Попался мне такой короткий код, который пытается читать из файла число, и если не может, то пишет туда то, что было в переменной (предполагается,...
Нужно что бы два потока параллельно печатали на экран(Первый поток печатает числа 1,2,3