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"

why does the initial build for source take forever?

why does the initial build for source take forever? It has already taken two days and it's not even half way

Product Version: UE 4.16
Tags:
more ▼

asked Aug 07 '17 at 01:12 PM in C++ Programming

avatar image

TjisAwesom
12 1 5 7

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Because Unreal Engine is Massive. Your implied next question is the actual answer, "then why is it so much faster the next time?" You see, it goes back to C++ 101. Back in the old days you had to setup your built tool manually by producing a Make file or typing the massive amount of text out on the command line (which you then ran out of space because the command line only held so many characters before chocking which is why we went to make files). Performing a building in C++ manually is a multi-stage process. Modern IDEs take a lot of the fuss out of it today. The first step compiles .h and .cpp files into obj files by running through the entire code base one by one producing the obj files (object files). Inside the make file you actually had to tell the compiler, take this .h and these .cpp files to make this .obj file. Once the object files are been produced you can then call the linker which links up the object files and produces the final executable or dll or library object of your chosen OS.

Now the magic of obj files. With the OBJ files built the next time you run the compiler it will now check if any of the OBJs are out of date, only creating new OBJs for the files that have been changed. This GREATLY speeds up your build time, especially when you have only changed one file. Now if you hit Rebuild, it will take forever again.

Unreal Engine also adds a 3rd stage onto of Compiling and Linking, the Unreal Build Tool which runs over your code first, and produces secondary .h and .cpp files that include methods to how functionality is exposed to Blueprints and reflection information that allow us to use "Class" objects to instance objects.

more ▼

answered Aug 07 '17 at 10:42 PM

avatar image

ArcainOne
499 32 25 57

avatar image TjisAwesom Aug 08 '17 at 03:19 PM

nope still slow after 2nd time XD

avatar image ArcainOne Aug 09 '17 at 08:37 PM

Well... If you have Iterative Building turned off it may be building everything every time you build from source or the building the engine from source is really just that big. I have not had to build the engine from source since it first launched, and then I realized I did not need it, however it was a fun learning experience. Even with the standard install my own project can take up to 5-10 minutes to build if I have made enough changes, after that though it usually takes seconds.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
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