I find SGX SDK doesn't support BOOST(partially – as long as Boost runtime is not used) in the developer documentation(as show in the bottom picture). and what's that mean?whether it means I can use BOOST libraries by a special way? and if I want to use 256 bit integer in the enclave,Is there any way about how to use BOOST libraries (boost/multiprecision/cpp_int.hpp) in the enclave to achieve this goal?
Thank you very much! I am looking forward to your reply!
name supported detail
You can use the features of Boost that require header files only. Boost runtime, which is not supported, refers to the Boost libraries that must be compiled and linked with your code. There may be other Boost functions that are not supported but, unfortunately, we don't have a list for what exactly is supported or not supported. You should read about C and C++ artifacts that are not supported by SGX in the section Library Functions and Type Reference and the Appendix of the Intel Software Guard Extensions Developer Reference.
According to Boost documentation:
The only Boost libraries that must be built separately are:
- Boost.Python (see the Boost.Python build documentation before building and installing it)
A few libraries have optional separately-compiled binaries:
- Boost.DateTime has a binary component that is only needed if you're using its to_string/from_string or serialization features, or if you're targeting Visual C++ 6.x or Borland.
- Boost.Graph also has a binary component that is only needed if you intend to parse GraphViz files.
- Boost.Test can be used in “header-only” or “separately compiled” mode, although separate compilation is recommended for serious use.
Intel Customer Support