Compilers
The library is intended to be used on multiple platforms and devices and attempts to detect the compiler type and
version to accommodate any differences. Not every single combination of compiler/IDE/device/library template have
been, or can realistically be, checked. If you have issues porting the library to your platform then contact me, and I will
do my best to resolve any incompatibilities.
If you have no issues, or have solved it by yourself then please let me know so that I may add information about it to
this page.
It is intended to be compatible with devices that do not natively support 8 bit types.
Visual Studio
Has been compiled under VS2015 & VS2017.
No known issues.
GCC
Has been compiled under GNU GCC on Windows & Linux.
No known issues, apart from early versions of GCC that may need to define the macro __STDC_LIMIT_MACROS in the
project properties.
Keil uVision
ARM
Define the macro __STDC_LIMIT_MACROS in the project properties.
Compiled with version 5 & 6 ARM compilers.
No known issues.
TI Code Composer
MPS430
Define the macro __STDC_LIMIT_MACROS in the project properties.
No known issues.
IAR Embedded Workbench
ARM
No known issues.
Segger Embedded Studio
ARM
If using STLPort then the macro ETL_STLPORT must be defined in the profile..
Arduino
Arduino IDE
Visual Studio with Visual Micro extension
The Arduino programming platform is not supplied with an implementation of the STL. The ETL requires some parts of
the STL to compile and therefore one must be acquired. A suitable implementation may be downloaded from the
Arduino library resource; It is called ArduinoSTL.
Add #include <ArduinoSTL.h> to the start of every file that uses the ETL.
Remember to add the directory to the include path.
Partially tested for Zero, Uno, Yún, Mega, Industrial 101 and Leonardo boards using test_embedded_compile.cpp
Issues
<algorithm> must be edited to move the template function iter_swap before the declaration of swap_ranges.
The template class variant will not currently compile unless the header file is renamed. Why?!
Fails to find ArduinoSTL.h even though it is present.
If ArduinoSTL.h is removed, then fails with printf has not been declared.
It may be necessary to add the following lines to the beginning of the file.
#undef min
#undef max