【问题标题】:Unable to access header files in unreal engine 4.25 using visual studio 2019无法使用 Visual Studio 2019 访问虚幻引擎 4.25 中的头文件
【发布时间】:2020-12-20 07:09:57
【问题描述】:

大家好,感谢您查看我的问题,

我正在学习使用 UE 4.25 和 c++ 学习虚幻引擎的教程。我目前停留在代码的静态网格部分。出于某种原因,我似乎无法访问所需的头文件,不仅是组件,还包括引擎等任何主要文件夹。

当我输入#include“”时,只弹出松散的头文件,没有一个是我需要的(图片不会发布,所以我会发布相关代码)。

这是来自 .h 文件:

#pragma 一次

#include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "Bullet.generated.h"

UCLASS()
class MYPROJECT_API ABullet : public AActor
{
    GENERATED_BODY()

public: 
    // Sets default values for this actor's properties
    ABullet();
    UPROPERTY(EditAnywhere, Category = "Components")
    class UStaticMeshComponent* BulletMesh;
}

这是来自 .cpp

#include "Bullet.h"
//Components/StaticMeshComponent.h should go here but it doesn't show with the      #include for some reason
// Sets default values
ABullet::ABullet()
{
    // Set this actor to call Tick() every frame.  You can turn this off to
    // improve performance if you don't need it.
    PrimaryActorTick.bCanEverTick = true;
    
    BulletMesh = CreateDefaultSubobject<UStaticMeshComponent>("BulletMesh");
    
}

【问题讨论】:

  • 这是智能感知问题还是编译时也找不到包含文件?
  • “CoreMinimal.h”和“GameFramework/Actor.h”等自动生成的完全没有问题

标签: c++ visual-studio-2019 unreal-engine4


【解决方案1】:

这听起来像是 Visual Studio 中的智能感知问题。原版 Visual Studio 解析 UE 需要很长时间,我个人刚刚将其关闭并改用 Visual Assist X

你可以做#include "Components/StaticMeshComponent.h",它应该编译得很好。 Classifier 是一个很好的免费资源,可帮助您找到所需的包含路径,对开始使用 Unreal 非常有帮助。

另一种选择是尝试 Rider for Unreal 而不是 Visual Studio,根据我所见,它为 UE 提供了更好的智能感知/代码助手。

【讨论】:

  • 我也认为是这样,但是当我编译代码时,它与来自虚幻引擎的其他头文件(例如“CoreMinimal.h”)没有问题。不过,我肯定会尝试一下 Rider for Unreal!谢谢
猜你喜欢
  • 2020-12-11
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 2021-03-19
  • 2022-07-04
  • 2017-11-17
  • 2021-01-20
  • 2020-05-13
相关资源
最近更新 更多