locked
Boost libraries

    Question

  • Hi,

    I've been looking at the Boost C++ libraries for serialization from a WinRT component. I've got something working for a Win32 build, but it also needs to work for an ARM build.

    Just wondering if anyone has any experience of building the Boost libraries for ARM?

     

    Friday, June 14, 2013 5:56 PM

Answers

  • The abuse flag was from the automated spam filter. The abuse flag just notifies moderators and admins to look at the post. It doesn't have any direct affect and I cleared the flag.

    As you found, Windows RT always runs ARM in little endian mode.

    --Rob

    Saturday, June 15, 2013 12:25 AM
    Owner

All replies

  • Is this a theoretical question or are you having an actual problem? If you are having a problem can you please provide details?

    You shouldn't have any issues using Boost in a Windows Store app on ARM. You should be able to just retarget your Windows Store app project to build for ARM.

    --Rob

    Friday, June 14, 2013 10:28 PM
    Owner
  • Hi

    The Boost library is very large, and I used a Boost command line option to do the default Windows build of the Boost library, which targets x86. However an ARM build of my project won't link with these libraries, so I originally thought I would have to rebuild Boost again with some ARM-specific settings, and I wasn't sure how to do that.

    I had also read that ARM can be either big-endian or little-endian, and I was concerned that even if I built Boost for ARM with, say little-endian settings, some hardware might run Windows RT with big-endian ARM settings. Maybe this isn't possible, I'm no expert, so I was also seeking reassurance on that aspect. This however seems to suggest that Windows RT is always little-endian:  http://blogs.msdn.com/b/chuckw/archive/2012/09/17/dual-use-coding-techniques-for-games.aspx.

    I've actually got round it now by building the Boost serialization files I need within my Visual Studio project rather than using the Boost makefile. To do this I needed to add a _M_ARM define to the Boost header file "endian.hpp" to tell Boost that ARM is little-endian.

    I think I've got what I want now, but since I'm using it for binary serialization on two different processor architectures, I'm a little bit wary, so I'd still be interested in hearing comments from anyone who has any knowledge of these issues.

    Friday, June 14, 2013 11:55 PM
  • The previous post is displaying "Already reported as abusive". Some mistake surely.
    Friday, June 14, 2013 11:58 PM
  • The abuse flag was from the automated spam filter. The abuse flag just notifies moderators and admins to look at the post. It doesn't have any direct affect and I cleared the flag.

    As you found, Windows RT always runs ARM in little endian mode.

    --Rob

    Saturday, June 15, 2013 12:25 AM
    Owner