diff -Naur a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt 2021-06-16 22:53:02.033465000 +0800 +++ b/CMakeLists.txt 2021-06-16 23:01:31.542323600 +0800 @@ -25,7 +25,9 @@ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. -cmake_minimum_required(VERSION 2.8.2) +cmake_minimum_required(VERSION 3.1) + +set(CMAKE_CXX_STANDARD 11) # Override flags to enable prepare for linking to static runtime set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/c_flag_overrides.cmake) diff -Naur a/src/tools/e57fields.cpp b/src/tools/e57fields.cpp --- a/src/tools/e57fields.cpp 2012-04-04 17:19:01.000000000 +0800 +++ b/src/tools/e57fields.cpp 2021-06-16 22:55:02.789463000 +0800 @@ -30,11 +30,7 @@ #include #include #include -#if defined(_MSC_VER) -# include -#else -# include -#endif +#include #include "E57Foundation.h" #include "E57FoundationImpl.h" //??? for exceptions, should be in separate file @@ -43,7 +39,6 @@ using namespace e57; using namespace std; -using namespace std::tr1; //!!! prologue, file name, date, version#, total # elements //!!! doc @@ -446,9 +441,9 @@ /// Only one is used, depending on the type of the E57 element. /// One of these three should be resized to BUFFER_ELEMENT_COUNT. /// These are smart pointers to avoid the copying (and the moving) when put on the cvElements list. - shared_ptr > iBuffer; - shared_ptr > dBuffer; - shared_ptr > sBuffer; + std::shared_ptr > iBuffer; + std::shared_ptr > dBuffer; + std::shared_ptr > sBuffer; /// The precalculated parts of the element path name. /// The only part that is missing is the record number which goes in between. diff -Naur a/src/tools/e57unpack.cpp b/src/tools/e57unpack.cpp --- a/src/tools/e57unpack.cpp 2011-10-06 16:01:00.000000000 +0800 +++ b/src/tools/e57unpack.cpp 2021-06-16 22:56:57.150323800 +0800 @@ -41,12 +41,8 @@ #include using std::runtime_error; -#if defined(_MSC_VER) -# include -#else -# include -#endif -using std::tr1::shared_ptr; +#include +using std::shared_ptr; #include using std::string; diff -Naur a/src/tools/e57validate.cpp b/src/tools/e57validate.cpp --- a/src/tools/e57validate.cpp 2011-10-06 16:01:00.000000000 +0800 +++ b/src/tools/e57validate.cpp 2021-06-16 22:58:19.365323700 +0800 @@ -66,11 +66,8 @@ ================================================================*/ -#if defined(_MSC_VER) -# include -#else -# include -using std::tr1::unordered_map; + +#include +using std::unordered_map; -#endif #include using std::strlen; @@ -694,7 +692,7 @@ void dump(int indent = 0, std::ostream& os = std::cout); //================ private: - typedef std::tr1::unordered_map GroupsMap; + typedef std::unordered_map GroupsMap; bool isDefined_; bool isByRow_;