[Please do not mail me a copy of your followup] boost-users@lists.boost.org spake the secret code <51EE86CF.5040302@1spatial.com> thusly:
This appears to be correct, getenv according to the MSDN documentation is not available when compiling code for WinRT, using Visual Studio 12, on a Windows 8 machine.
The most important part of your message is above "compiling code for WinRT". WinRT is not Win32, which makes getenv available. See http://ecn.channel9.msdn.com/events/Win8CppEvent/PortingToMetro.pptx which explicitly states that environment variable stuff is not available in WinRT applications. That particular header already provides for ways to map the needed operation by boost.interprocess to a Win32 specific variant via detail/win32_api.hpp. I suggest you create a patch that similarly delegates the get_temporary_path() operation. Then use platform/toolchain detection logic to identify WinRT vs. Win32 and do the right thing under WinRT. The Win32 function for obtaining the path to the temporary directory may work identically for both Win32 and WinRT. -- "The Direct3D Graphics Pipeline" free book http://tinyurl.com/d3d-pipeline The Computer Graphics Museum http://computergraphicsmuseum.org The Terminals Wiki http://terminals.classiccmp.org Legalize Adulthood! (my blog) http://legalizeadulthood.wordpress.com