Compilers

From Crypto++ Wiki
Jump to navigation Jump to search

Here is the list of supported compilers by Crypto++. If you build (or fail to build) a Crypto++ release on a compiler/platform that is not listed on its build status page, please report your success or problems to the Crypto++ mailing list.

  • Visual Studio 2003 - 2019
  • GCC 3.3 - 10.0
  • Apple Clang 4.3 - 9.3
  • LLVM Clang 2.9 - 7.0
  • C++Builder up to 2015
  • Intel C++ Compiler 9 - 16.0
  • Sun Studio 12u1 - 12.6
  • IBM XL C/C++ 10.0 - 13.3

The library supports MSVC, Intel ICC, MinGW and Cygwin compilers on Windows. MSVC is limited to Visual Studio .Net compilers and above. Clang is not supported.

The old VC++ 5.0 and 6.0 compilers are no longer supported. Support for VC++ 5.0 and 6.0 was withdrawn at Crypto++ 6.0.

The library supports GCC, Clang, Apple GCC, Apple Clang, Intel ICC, IBM XLC and SunCC on Unix and Linux. Clang support may have gaps due to the way LLVM sets up the compiler.

GCC support is for versions 3.1 and above. Support for version 2.95 was withdrawn at Crypto++ 6.0.

IBM XLC support is for versions 10.0 and above. SunCC support is for versions 12.0 and above.

Clang support is difficult because LLVM pretends to be all compilers on a platform with all features available, but the compiler does not support what it advertises. For example, on a POWER7 machine Clang pretends to be GCC, Clang and XLC with Power7 and VSX support, but it does not support Power7 loads or stores using vec_xl or vec_xst.

After porting Clang support to Linux, Darwin and PowerPC we had no energy or desire to port it to Windows.