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"

AnswerHub Maintenance

Background maintenance is scheduled to occur between 9 - 11am EDT on Tuesday, May 21. Site operation may be slower than normal during this time and a brief interruption in operation may be observed

Enable RTTI is not handled in OS X (MacToolChain.cs)

I'm using UE 4.7.6 (built from source).

I need to enable RTTI to use third party libraries (boost, cereal). I set bUseRTTI = true; in *.Build.cs to enable RTTI. It works on Windows, but on OS X there are bunch of compile time errors show -fno-rtti is on.

Unlike In VCToolChain.cs, there is no code that handles CompileEnvironment.Config.bUseRTTI in MacToolChain.cs.

If I manullay handle CompileEnvironment.Config.bUseRTTI to set -fno-rtti in the MacToolChain.cs then the problem solved.

Is there any special reason you guys didn't handled it on OS X? or is it just a mistake?

Product Version: UE 4.7
Tags:
more ▼

asked Jun 09 '15 at 02:17 AM in Bug Reports

avatar image

kwonoh
68 4 8 12

avatar image AndrewHurley Jun 09 '15 at 06:48 PM

Hey kwonoh,

I looped in another developer and was able to grab information about this.

"RTTI is generally not used in games, due to the amount of extra data it generates and links into your executable, for every polymorphic type, even if you don't use end up using RTTI on that type.

Game engines usually produce their own runtime reflection solutions which are tuned to the individual needs of the engine, like we do with the UObject system. And so, we probably didn't have any Mac users who needed that before."

Thanks,

Andrew Hurley

avatar image kwonoh Jun 10 '15 at 07:17 AM

Okay. Is this means you guys not going to change this?

Thanks, Oh-Hyun Kwon

avatar image AndrewHurley Jun 10 '15 at 01:58 PM

I am sure if we receive enough future demand for the change we would, but currently it is not on the road map.

avatar image bilke Jul 27 '15 at 11:22 AM

I would like to be able to enable RTTI on Mac too!

avatar image kwonoh Aug 04 '15 at 08:52 AM

I copied codes that related to RTTI from VCToolChain.cs.

avatar image schetle Aug 22 '15 at 02:16 AM

I'd also like the option to enable RTTI for Mac building!

avatar image Melanie_T Dec 20 '15 at 01:18 AM

I also need this!

avatar image CNek Mar 20 '16 at 03:34 PM

Need that too, that a bummer, I can't use boost headers (managed_shared_memory.hpp) for that reason :(

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

0 answers: sort voted first

Hey guys,

I have gone ahead and entered a feature request for this issue, UE-20314. I cannot guarantee it will make it, but I can promise I will add as much community interest as is applicable that are interested in seeing this feature added.

Thank you for taking the time to request this feature. Look to our Release Notes in major upcoming releases to updates for this feature request.

Cheers,

Andrew Hurley

more ▼

answered Aug 24 '15 at 06:41 PM

avatar image rotwang Jul 25 '16 at 11:11 PM

I need this too. The answer ignores that we develop games and TOOLS and often we can't change third-party code. I think this restriction should be handled as a custom parameter. Thank you.

"RTTI is generally not used in games, due to the amount of extra data it generates and links into your executable, for every polymorphic type, even if you don't use end up using RTTI on that type. Game engines usually produce their own runtime reflection solutions which are tuned to the individual needs of the engine, like we do with the UObject system. And so, we probably didn't have any Mac users who needed that before."

avatar image rotwang Jul 26 '16 at 12:11 AM

Also, I just stumbled over 'Wno-reorder' in my third party source. It would be great, if we could add compiler settings to a .cs file to configure the build system for Mac and Win. I'm not yet sure, what already can be changed with the current version. :)

avatar image AndrewHurley Jul 26 '16 at 03:42 PM

I have entered a feature request for the issue, and that is currently all I can do or provide in the way of getting this implemented. You will be able to track this issue in the very near future publicly so you can vote on this issue to be implemented.

Cheers,

Andrew Hurley

avatar image rotwang Jul 26 '16 at 06:36 PM

@Andrew, thank you very much.

this currently is an absolute showstopper for me. Almost all libraries I work with use the common concept of dynamic_cast<> all over the place. Not to talk about my own libraries. Would you please talk with your expert, how I could workaround this problem by modifying the Unreal build system on my Mac?

Best, Frank

avatar image kwonoh Jul 26 '16 at 08:05 PM

A simple solution is open MacToolChain.cs and remove all -fno-rtti

avatar image rotwang Jul 26 '16 at 08:51 PM

@kwonoh Thank you, I can't find this file, where is it located?

avatar image kwonoh Jul 26 '16 at 08:58 PM

I am using the engine that built from source not the prebuilt one via the launcher. UnrealEngine-4.12.5-release/Engine/Source/Programs/UnrealBuildTool/Mac/MacToolChain.cs

avatar image rotwang Jul 26 '16 at 09:41 PM

That's the problem. This file doesn't exist in the standard launcher installation. It's a pity, it would be so easy to solve my problem, if I could change that configuration.

avatar image AndrewHurley Jul 26 '16 at 07:53 PM

You can track and vote for the issue on our newly announced Unreal Engine Issues tracker. Aside from that, the developer is going to address this issue as resources become available and he can dedicate time to getting a fix.

(comments are locked)
10|2000 characters needed characters left
Be the first one to answer this question
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