About creating Landspace useing c++

Experts, when I create a new “landspace” c ++ class in the editor, my compiler prompts “LINK2001 can not resolve the external symbols” and “LINK1120 can not resolve the external command”, I have not changed the newly created c ++ class , I create other c ++ class will not appear this error, why? How should i solve this?(I have re-installed the engine 4 times!) Please help me… :frowning:

screenshot of the log:

These errors means that your code doesn’t contain that functions and there is no plugin which export that functions too. Please check if your class declaration is prefixed by YOURPLUGIN_API macro and\or functions you trying to override also have this macro.

bug i only create a "Landspace"c++ class ,no change anything,but the editor prompt failed to add…

Maybe you based your class on other class existing inside some plugin? I can’t figure out it without class declaration code. If so you have to add that plugin to your module dependencies (.Build.cs file stored in source directory of your plugin\game) and then regenerate project files and rebuild.

I think I should have a problem with the method of creating a landspace class. Do you know the steps or methods of creating a c++ landspace class?
thanks alot~ : )

i have try to add “landspace” string in my bulit.cs,but unsuccessful…
my bulit.cs

// Fill out your copyright notice in the Description page of Project Settings.

using UnrealBuildTool;

public class test2 : ModuleRules
{
	public test2(TargetInfo Target)
	{
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Landscape" });

		PrivateDependencyModuleNames.AddRange(new string[] {  });

		// Uncomment if you are using Slate UI
		// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

	}
}

landspace.h

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "Landscape.h"
#include "MyLandscape.generated.h"

/**
 * 
 */
UCLASS()
class TEST2_API AMyLandscape : public ALandscape
{
	GENERATED_BODY()
	
	
	
	
};

landspace.cpp

#include "test2.h"
#include "MyLandscape.h"

Actually you can just create missing functions in your cpp file. Its not so obvious way but it will work. I checked functions from your log - all of them is not exported from the landscape plugin.

It seems that Landscape plugin classes are the worst choice to subclassing, because they exports almost nothing from they plugin dll

Why would I choose to create landspace classes,because I would like to create custom terrain like planet terrain. : ( Do you know any other way to achieve this effect? ; )