x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Finding the name of a Module

I am building a plugin that lets you use Slate on a RenderTarget. After alot of trial and error I found out that "RHI" was one of the modules I needed.

Now I get this error when I try to extract the render resource.

 Error    1    error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl FRenderResource::UpdateRHI(void)" (__imp_?UpdateRHI@FRenderResource@@QEAAXXZ) referenced in function "public: __cdecl USerialConsole::USerialConsole(class FPostConstructInitializeProperties const &)" (??0USerialConsole@@QEAA@AEBVFPostConstructInitializeProperties@@@Z)    F:\PaulUser\Unreal Projects\ButtonScreen\Intermediate\ProjectFiles\SerialConsole.cpp.obj    ButtonScreen
 

A few others after this, but thats the main one. I am sure I will find out where this module is before somone replys. What I want to know however:

A. How does the build system create Module names? B. What tags do look for in the header files to know what objects go to those modules.

Product Version: Not Selected
Tags:
more ▼

asked Apr 06 '14 at 05:14 PM in C++ Programming

avatar image

WarlockD
1 2 2

(comments are locked)
10|2000 characters needed characters left

3 answers: sort voted first

For using Widgets and Slates, you need more modules than "RHI". One of them is "UMG", and there's one other I don't remember the name of. Did you figure it out?

more ▼

answered Oct 18 '18 at 02:49 AM

avatar image

Sam54123
45 4 7

avatar image WarlockD Oct 18 '18 at 04:00 AM

Yea but its been more than 4 years now, I am sure the way it works has changed

(comments are locked)
10|2000 characters needed characters left

usually if you want to use Slate you have to add Slate and SlateCore to your build.cs

more ▼

answered Oct 18 '18 at 03:12 AM

avatar image

TheDreamCatcher
253 2 4 5

(comments are locked)
10|2000 characters needed characters left

I follow these steps to find all the engine modules required by a plugin

  • Compile your plugin code, when you get a link error, it means you are missing a module.

  • Inspect the link error to find the missing class. In your above example, it is FRenderResource::xxx

  • Open github and go to unreal engine source code and search for this class. From here I found that this code resides in this path: Engine/Source/Runtime/RenderCore/Public/RenderResource.h [alternatively jump to the symbol in visual studio using Alt+Shift+S if you are using VisualAssistX]

  • From this you know that the code is under the RenderCore module. If in doubt, go to that location and look for a Build.cs file and grab the module name from there

  • Compile again and repeat if you get more link errors for other missing modules

more ▼

answered Oct 18 '18 at 02:48 PM

avatar image

Ali Akbar
676 2 5 8

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question