Error LNK2019 !when implement UEditorBrushBuilder

error LNK2019: 无法解析的外部符号 “public: __cdecl UEditorBrushBuilder::UEditorBrushBuilder(class FObjectInitializer const &)” (??0UEditorBrushBuilder@@QEAA@AEBVFObjectInitializer@@@Z),该符号在函数 “public: __cdecl UDynamicBSPBuilder::UDynamicBSPBuilder(class FObjectInitializer const &)” (??0UDynamicBSPBuilder@@QEAA@AEBVFObjectInitializer@@@Z) 中被引用 Documents\Unreal Projects\WebBrowser490\Intermediate\ProjectFiles\DynamicBSPBuilder.cpp.obj WebBrowser490

using UnrealBuildTool;
using System.IO;
namespace UnrealBuildTool.Rules
{
		public class WallCreatorPlugin : ModuleRules
			{
				public WallCreatorPlugin(TargetInfo Target)
				{
					PrivateIncludePaths.AddRange(
						new string[] {
							"WallCreatorPlugin/Private",
						});
					PublicIncludePaths.AddRange(
						new string[] {
							"WallCreatorPlugin/Public","DesktopPlatform"

						});
                    PrivateDependencyModuleNames.AddRange(new string[]
                        {
                            "Core",
                            "CoreUObject",
                               "UnrealEd"
                        });
                   PrivateIncludePathModuleNames.AddRange(new string[]{
                        
                    });
		           PublicDependencyModuleNames.AddRange(
						new string[]
							{
								"Core",
				                "CoreUObject",
				                "Slate",
				                "SlateCore",
				                "Engine",
                                "InputCore",
                                "ClassViewer",
				                "AssetTools",
				                "UnrealEd", // for FAssetEditorManager
				                "KismetWidgets",
				                "GraphEditor",
				                "Kismet",  // for FWorkflowCentricApplication
				                "PropertyEditor",
				                "RenderCore",
				                "LevelEditor",
				                "EditorStyle",
                                "DesktopPlatform",
                                "Projects",
                                "WebBrowser",
                                "Json",
                                "JsonUtilities",
                                "UnrealEd",
                                "ContentBrowser",
                                "AssetRegistry"
							});

                   DynamicallyLoadedModuleNames.AddRange(
                     new string[] {
                        "DesktopPlatform",
                         });
					}
			}
}


Header file

#pragma once
//#include "EditorBrushBuilder.h"
#include "Editor/UnrealEd/Classes/Builders/EditorBrushBuilder.h"
#include "DynamicBSPBuilder.generated.h"

UCLASS(MinimalAPI, autoexpandcategories = BrushSettings, EditInlineNew, meta = (DisplayName = "DynamicBSP"))
//UCLASS()
class UDynamicBSPBuilder : public UEditorBrushBuilder
{
public:
	GENERATED_BODY()
public:
	UDynamicBSPBuilder(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());

	UPROPERTY()
	FName GroupName;

 	virtual bool Build(UWorld* InWorld, ABrush* InBrush = NULL) override;
// 	virtual void BuildDynamicBSP();
};



Source file:

#include "WallCreatorPluginPrivatePCH.h"
#include "UnrealEd.h"
#include "BSPOps.h"
#include "Engine/Polys.h"
#include "Engine/Selection.h"
#include "DynamicBSPBuilder.h"

#define LOCTEXT_NAMESPACE "WallCreatorPlugin"

UDynamicBSPBuilder::UDynamicBSPBuilder(const FObjectInitializer& ObjectInitializer)
:Super(ObjectInitializer)
{
// 	struct FConstructorStatics
// 	{
// 		FName NAME_DynameBSP;
// 		FConstructorStatics()
// 			: NAME_DynameBSP(TEXT("DynamicBSP"))
// 		{
// 
// 		}
// 	};
// 	static FConstructorStatics ConstructorStatics;
// 	GroupName = ConstructorStatics.NAME_DynameBSP;
}
bool UDynamicBSPBuilder::Build(UWorld* InWorld, ABrush* InBrush /* = NULL */)
{
	return true;
}
// void UDynamicBSPBuilder::BuildDynamicBSP()
// {
// 
// }

#undef  LOCTEXT_NAMESPACE