Newsletter 97 Submitted by Z98 on Mon, 07/01/2013 - 19:09
C++
One of the last big missing pieces of building ReactOS using Visual Studio was support for C++. In ReactOS, the biggest piece of C++ code is explorer, without which users have no graphical shell when ReactOS boots up. Support for C++ requires not just a compiler capable of building C++ code, but also the presence of the standard template library. For developers where C++ was their first language, usage of the STL is fairly common and it is almost guaranteed to be linked in by default regardless of whether it is used or not. When building with GCC, the GCC bundled STL implementation was used, but this approach doesn't quite work in Visual Studio. In Visual Studio, the C Runtime and the STL are bundled together, so to link against one is to link against both. This causes massive linkage duplication with ReactOS' own C Runtime implementation, so an alternative was needed. A while back an import of the STLport library was done to provide ReactOS with an STL implementation that could be built with either GCC or VC++. That import had a few holes however, mostly involving file objects. Thomas Faber has plugged them to allow building and linking of ReactOS' C++ components, meaning that close to all of ReactOS can now be built using Microsoft's toolchain.
C++
One of the last big missing pieces of building ReactOS using Visual Studio was support for C++. In ReactOS, the biggest piece of C++ code is explorer, without which users have no graphical shell when ReactOS boots up. Support for C++ requires not just a compiler capable of building C++ code, but also the presence of the standard template library. For developers where C++ was their first language, usage of the STL is fairly common and it is almost guaranteed to be linked in by default regardless of whether it is used or not. When building with GCC, the GCC bundled STL implementation was used, but this approach doesn't quite work in Visual Studio. In Visual Studio, the C Runtime and the STL are bundled together, so to link against one is to link against both. This causes massive linkage duplication with ReactOS' own C Runtime implementation, so an alternative was needed. A while back an import of the STLport library was done to provide ReactOS with an STL implementation that could be built with either GCC or VC++. That import had a few holes however, mostly involving file objects. Thomas Faber has plugged them to allow building and linking of ReactOS' C++ components, meaning that close to all of ReactOS can now be built using Microsoft's toolchain.