MSVC 2017 & auto_ptr() / Build System

I can't find a way to search the forum so my apologies if this is answered somewhere else.

I see several uses of std::auto_ptr inside of libraw_datastream. This has been deprecated in favor of using std::unique_ptr and/or std::move() and std::shared_ptr (as appropriate) back in the c++0x specs ( It's still hung around and worked in most compilers but now Microsoft has thrown down the gauntlet and the latest version of visual studio 2017 has REMOVED auto_ptr completely, hence libraw will not compile.

Has anyone dealt with this yet? I've tried looking through the code in the repo on various branches (master and 0.19-stable) and I still see auto_ptr in use but I'm still getting used to your repo and may just be looking in the wrong place. I'm going to try and patch the code to use unique_ptr and move() but don't want to be reinventing the wheel. I'm also probably not the best person to make the decision of what to replace the auto_ptrs with as I barely know this code base.

My other question is what is the current intended build system to use? I see the QMake .pro files in there and have been using those but they require a lot of tweeking on both system's I'm compiling for (Mac OS and Windows) so I'm wondering if they are not up to date and if I should be using something different to build.

Seth B.


We know that auto_ptr is

We know that auto_ptr is deprecated. We'll address this issue in next major change, not in 0.19

-- Alex Tutubalin