首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在UE5上遇到了UE5的问题

我在UE5上遇到了UE5的问题
EN

Stack Overflow用户
提问于 2022-08-22 12:48:59
回答 1查看 201关注 0票数 0

我正在学习关于用户小部件的教程,在我添加TSubclassOf<UUserWidget> widgetClass;之后,它给了我一个错误,我无法理解它:

代码语言:javascript
复制
MainPlayer.gen.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class UClass * __cdecl Z_Construct_UClass_UUserWidget_NoRegister(void)" (__imp_?Z_Construct_UClass_UUserWidget_NoRegister@@YAPEAVUClass@@XZ) referenced in function "void __cdecl `dynamic initializer for 'public: static struct UECodeGen_Private::FClassPropertyParams const Z_Construct_UClass_AMainPlayer_Statics::NewProp_widgetClass''(void)" (??__E?NewProp_widgetClass@Z_Construct_UClass_AMainPlayer_Statics@@2UFClassPropertyParams@UECodeGen_Private@@B@@YAXXZ)"

img:https://i.imgur.com/BXcOAC7.png

代码语言:javascript
复制
// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "Camera/CameraComponent.h"
#include "GameFramework/SpringArmComponent.h"
#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "Blueprint/UserWidget.h"
#include "MainPlayer.generated.h"

UCLASS()
class SURVIVAL_GAME_API AMainPlayer : public ACharacter
{
    GENERATED_BODY()

public:
    // Sets default values for this character's properties
    AMainPlayer();

protected:
    // Called when the game starts or when spawned
    virtual void BeginPlay() override;


public: 
    // Called every frame
    virtual void Tick(float DeltaTime) override;

    // Called to bind functionality to input
    virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;


    

public:

    //Movement and interactions

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Camera")
    UCameraComponent* myCamera;

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera")
    USpringArmComponent* mySprigArm;

    UFUNCTION()
    void moveForward(float value);
    
    UFUNCTION()
    void moveRight(float value);

    UFUNCTION()
    void lookUp(float value);

    UFUNCTION()
    void lookRight(float value);

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Character")
    float movementSpeed;

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Character")
    float sensitivity;

    UFUNCTION()
    void interact();

    UFUNCTION()
    void toggleInventory();
    // 

    //Variables

protected:
    UPROPERTY(EditAnywhere, Category = "Variables")
    TSubclassOf<UUserWidget> widgetClass;

    

    //
};
EN

回答 1

Stack Overflow用户

发布于 2022-10-18 14:03:54

有点晚了,万一你还没解决.

我猜UMG模块不会添加到PublicDependencyModuleNames中。

您需要将它添加到your_progect_name.build.cs文件中:

代码语言:javascript
复制
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore"});

将模块名称添加到列表中,在本例中为UMG

代码语言:javascript
复制
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG"});

它应该解决尚未解决的外部问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73445397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档