Trying to build the engine from the MacOS support files for 1.13 fails for me. When doing the build using the command line
sh lmbr_waf.sh build_darwin_x64_profile -p all
I at first get some errors about unused lambda captures in some unit tests (I don’t get those error when building in Xcode). I could fix those by adding
'-Wno-unused-lambda-capture',
to the COMMON_COMPILER_FLAGS in compile_settings_clang.py.
However, then both on the command line and in Xcode I get the errors
In file included from /Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/SphericalHarmonics/PRT/BacklightingAlphaTextureMaterial.cpp:20:
In file included from /Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/SphericalHarmonics/PRT/BacklightingAlphaTextureMaterial.h:23:
In file included from /Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/ISHMaterial.h:21:
In file included from /Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.h:442:
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.inl:198:2: error: missing 'typename' prior to dependent type template name 'prtlist<T>::SListElem'
prtlist<T>::SListElem<TE> prtlist<T>::SListElem<TE>::CreateDummy()
^
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.inl:262:2: error: missing 'typename' prior to dependent type template name 'prtlist<T>::SListElem'
prtlist<T>::SListElem<TE>& prtlist<T>::SListElem<TE>::operator=(const
^
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.inl:280:2: error: missing 'typename' prior to dependent type template name 'prtlist<T>::SListElem'
prtlist<T>::SListElem<TE>& prtlist<T>::SListElem<TE>::operator++()
^
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.inl:300:2: error: missing 'typename' prior to dependent type template name 'prtlist<T>::SListElem'
prtlist<T>::SListElem<TE> prtlist<T>::SListElem<TE>::operator++(int)
^
4 errors generated.
and
Output:
In file included from /Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/SphericalHarmonics/PRT/BaseTextureMaterial.cpp:18:
In file included from /Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/SphericalHarmonics/PRT/BaseTextureMaterial.h:21:
In file included from /Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/ISHMaterial.h:21:
In file included from /Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.h:442:
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.inl:198:2: error: missing 'typename' prior to dependent type template name 'prtlist<T>::SListElem'
prtlist<T>::SListElem<TE> prtlist<T>::SListElem<TE>::CreateDummy()
^
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.inl:262:2: error: missing 'typename' prior to dependent type template name 'prtlist<T>::SListElem'
prtlist<T>::SListElem<TE>& prtlist<T>::SListElem<TE>::operator=(const
^
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.inl:280:2: error: missing 'typename' prior to dependent type template name 'prtlist<T>::SListElem'
prtlist<T>::SListElem<TE>& prtlist<T>::SListElem<TE>::operator++()
^
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/PRT/PRTTypes.inl:300:2: error: missing 'typename' prior to dependent type template name 'prtlist<T>::SListElem'
prtlist<T>::SListElem<TE> prtlist<T>::SListElem<TE>::operator++(int)
^
4 errors generated.
I can fix those by e.g. changing lines 195ff from
#if defined(_MSC_VER)
typename
#endif
prtlist<T>::SListElem<TE> prtlist<T>::SListElem<TE>::CreateDummy()
{
return SListElem<TE>((SListElem<TE>*)(UINT_PTR)0xFFFFFFFF, NULL);
}
to
typename
prtlist<T>::template SListElem<TE> prtlist<T>::SListElem<TE>::CreateDummy()
{
return SListElem<TE>((SListElem<TE>*)(UINT_PTR)0xFFFFFFFF, NULL);
}
but then I get (when compiling in Xcode) the following errors
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Tools/SceneAPI/SceneUI/RowWidgets/ManifestVectorHandler.h:0: Note: No relevant classes found. No output generated.
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Gems/GraphCanvas/Code/Source/Components/NodePropertyDisplays/EntityIdNodePropertyDisplay.h:0: Note: No relevant classes found. No output generated.
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Sandbox/Plugins/EditorUI_QT/AttributeView.cpp:550:52: error: qualified reference to 'QSizePolicy' is a constructor name rather than a type in this context
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Sandbox/Plugins/EditorUI_QT/AttributeView.cpp:704:40: error: qualified reference to 'QSizePolicy' is a constructor name rather than a type in this context
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Sandbox/Plugins/EditorUI_QT/AttributeView.cpp:550:52: error: qualified reference to 'QSizePolicy' is a constructor name rather than a type in this context
/Users/hht/Documents/Development/other/Amazon/lumberyard-1.13/dev/Code/Sandbox/Plugins/EditorUI_QT/AttributeView.cpp:704:40: error: qualified reference to 'QSizePolicy' is a constructor name rather than a type in this context
at which point I didn’t want to further mess around with the original sources.
So please assist on how to proceed. And of course I’m wondering why this hasn’t come up earlier in the forums? Am I doing something wrong? Different Xcode/clang version?
As a side note - it would be really great if you could also work with OSX and the sources on Github. So instead of downloading the Mac Support files, get the sources from Github and have another (shell) script to download required dependencies.