I’m afraid I can’t exactly tell what the problem is from the information provided. Could you provide me with more context, as in the code files that you are using or the entire project itself if possible. If you wish to upload the project but can’t fit the file on the Answerhub, please feel free to upload it to a third-party site such as DropBox.
I looked into the Landscape proxy and I see the function, it is public and I do see that the cpp file with the function declared is in a seperate cpp file. But the linker is still tossing an error for that function.
I was wrong before that error happened because you were missing the correct module for the Headers used. You need the Landscape module for those header files. Here is the project:
I’ve found the issue and there are two ways to get around it.
The issue is that the class that the function is in has the specifier ‘MinimalAPI’ which makes it where you can cast to the class, but none of its functions are available publicly. This is used to improved compile times, but you can remove the specifier yourself if you use the source version of the engine instead of the binary. The documentation page is limited, but here it is for MinimalAPI.
The only other way I can think of to get around it would be to make the function Inline, which if you’re not familiar with it, this is a feature of Visual C++ and you can find more information about that method at the following link: https://msdn.microsoft.com/en-us/library/z8y1yy88.aspx
Not that I am aware of. It was done to improve compile times as it isn’t commonly called. It should be an easy modification however, or you could use Inline which would also make your code file larger but would avoid needing to modify the engine itself.
Is there anyway to do it without getting access to the GIT code? I’m mainly using it in a tool for others to use for environment design. Not everyone has the knowledge to use the GIT. For now I am calling the function via blueprint script. So that’s my workaround for now. Would be nice if they added it to c++.
Inline is a feature of C++ itself. It doesn’t involve changing the source code files and it’s the only thing I can suggest that would help you in this situation.
Maybe I read this wrong. Where does the inline statement go. Can I get a post of the implementation? I thought you meant for me to modify the LandscapeProxy class. and inline the EditorApplySpline function into the header of said file. Are you saying to inline the function into my project files in the header?
The confusion was on my side. I was misunderstanding the implementation of the inline function. You’re correct that it would have to be specific at the time of declaration. Unfortunately, without that method, blueprints would be the best option to access these if you wish to avoid editing the source code. It is by design that these functions are unavailable in c++ without editing the source code.