The FAQ list is under (constant) development. If you post a question on the Issues forum (https://github.com/synesissoftware/STLSoft-1.11/issues) it will be used to create one.
- Q1: "How do I build STLSoft?"
- Q2: "How do I install STLSoft?"
- Q3: "How do I use STLSoft?"
- Q4: "Does STLSoft have unit-tests?"
- Q5: "Is STLSoft still relevant given the widespread support for 'Modern C++'?"
You don't!
STLSoft is 100% header-only, so all you have to do is #include
it. We do recommend that you use an environment variable, e.g. STLSOFT
, so that you can use new versions of the library from your projects without disruption.
Basically, there are three ways:
- As downloaded archive, using environment variables;
- Cloning project, using environment variables;
- Cloning project, installing via CMake;
Option 3 is recommended.
See INSTALL.md for details of these options.
Assuming you've installed it using environment variables (as per instructions in Q2), then:
- in your IDE settings, add the include directory
$(STLSOFT)/include
; or - in your makefiles, add the include directory
-I$STLSOFT/include
(UNIX) or-I%STLSOFT%/include
(Windows);
Yes, there are many such, but for various reasons they're not available with the STLSoft 1.10 distribution. When STLSoft 1.11 is released it will include unit-tests, which will likely be a mix of xTests and Catch2 unit-test libraries, both of which will be bundled with distributions.
This is a good question. Over the remainder of 2023 and into 2024 we will be updating all the "Synesis" open-source libraries - including b64, FastFormat, Pantheios, recls, shwild, and more - in light of 'Modern C++' and determining how well this can be achieved with standard C++ facilities alone. This will inform the future of STLSoft, which may be to invest much further effort into the exist 1.x stream or, perhaps, create a new 2.x stream that does not need to worry itself with the very extensive compiler-feature-detection and missing-feature-detection that comprises much of the current (1.x) STLSoft facilities.