[Feedback] Rocket on OS X
Yesterday I tried to build our C++ Rocket-based game on OS X. I found and fixed multiple problems and I thought that if I wrote them here then it would be useful to many people.
1) Rocket requires OS X Mavericks to work. Even though Rocket itself runs on Mountain Lion, the service that you're required to use to generate the Xcode project (.xcodeproj) will fail. I wish I had written down the error message but it's along the lines of "Cannot find (null). Please upgrade (null) or use a previous version".
2) After upgrading to Mavericks, the service no longer appears in the Finder services menu. Also fun is the fact that Rocket apparently only registers the service once so I had to go and find and delete the files inside ~/Library (I am not in front of my Mac here else I'd tell you specifically which files!) in order for Rocket to register the service again.
3) Something that is missing from the documentation (but is obvious with hindsight!) is that Rocket requires you to have the Mono framework installed. Once you have the option to generate an Xcode project, you'll only get errors until you download and install the Mono framwork.
4) At this point you'll actually be able to open the Xcode project. If, however, you're actually using C++11 features at this point then you may end up in limbo - just like me. The UnrealBuildTool.exe tries to compile all of the files but isn't setting the compiler options correctly. It needs to specify "-std=c++11 -stdlib=libc++" but, right now, it either sets none or sets just the former. The net result is that it won't be able to find the header and other features such as std::function will be missing too. It even complains about some parts of Epic's own header files too!
FYI - I have the latest Xcode - the latest everything. I try to keep my Mac completely up to date.
The Mac version needs more work to be usable - but it's almost there! If Epic need any help with Mac testing then I'm here to help. :)
If you're thinking about getting Rocket working on your Mac - so long as you aren't using C++ projects then I think you're fine. If you are then it doesn't currently work AND please make sure you have upgraded to Mavericks before installing Rocket. Doing so will let you avoid some of the teething pain that I went through last night. :)
asked Mar 11 '14 at 02:33 AM in C++ Programming
ue4-archive ♦♦ STAFF
Thanks for your feedback.
The documentation here: https://rocket.unrealengine.com/docs/ue4/INT/GettingStarted/index.html does say that you need to use Mavericks and install Mono, but I suppose we need to make this information more obvious and easier to find. I'll see about what can we do to improve services registration.
As for C++11, we do use some of its features and I'm pretty sure we're setting all the compiler settings that allow this. Could you give me some example of C++11 feature that is supported by Apple's Clang, but does not compile correctly in Rocket project? Or, even better, an example of Epic header that Clang complains about?
answered Mar 11 '14 at 02:33 AM
ue4-archive ♦♦ STAFF
Follow this question
Once you sign in you will be able to subscribe for any updates here