Newer Boost and Visual Studio

  • cchris

    Hi all,

    I recently installed Visual Studio Express and managed to compile Scintilla and Notepad++. However, some small tweaks were in order:

    1/ The current BuildBoost.bat does not support VS2012 nor 2013. Support is fairly easy to add: simply locare the two places where msvc- versions are mentioned, and create two more versions at each place. Adapting from the existing code is straightforward.

    2/ Depending on your current version of Boost, it may not support the newest compilers. Upgrading to latest (v1.55.0) doesn't harm at all. Older versions of Boost can be tweaked, because they don't do anything specific about Visual C++ versions besides checking the version, but upgrading is healthier and painless.

    3/ VS2013 command prompt is not as easily available as under VS2012, at least under Windows 8. Looking for Visual Studio Tools will do the trick. I followed their advice of pining the prompt to the pin bar.

    4/ Now there are two glitches compiling Notepad++
    a/ GetVersionx is deprecated, because Microsoft plans not to care about Win2K and earlier;
    EDIT: after compiling all uses for the current OS version in code, there are basically two use cases:
    UAC related matters, for which the newer M$ API is straightforward to use
    Support for aging versions, specifically the need to tell Win2K from NT4 boxes. Would raising the compatibility bar to Win2K hurt? If not, then the modern API is good enough as well.
    b/ There is an INFINITY maro in the SDK incompatible with the one defined in WinMgr.h
    EDIT: this macro duplicates SHRT_MAX in the standard limits.h header, so let's use it instead.


    Last edit: cchris 2014-02-19