sccn / liblsl

C++ lsl library for multi-modal time-synched data transmission over the local network
Other
108 stars 63 forks source link

Raise minimum VC++ version to VC2015 for liblsl compilation #33

Closed tstenner closed 4 years ago

tstenner commented 4 years ago

As part of the multicast PR (#31) I've encountered several problems with MSVC2008 that all boil down to the lack of standard int types (e.g. int32_t), inability to have two typedefs for the same type (i.e. int32_t in lsl_c.h and lslboost::int32_t) and the need for the internal files to include lsl_c.h. Visual Studio 2010 has the cstdint and therefore none of these problems.

End users will still be able to compile against liblsl with Visual Studio 2008, but compiling liblsl itself will require Visual Studio 2010 or later.

Does anyone (especially @mgrivich) have any objections?

tstenner commented 4 years ago

As some people still have equipment that only runs on Windows XP, I checked the support in Visual Studio. Even the latest VS2019 preview offers to install a compiler toolchain (v141, i.e. the one originally shipped in VS2017) to target Windows XP. It's free for open source projects (i.e. liblsl), and it only requires end-users to have the Visual C++ runtime installed.

tstenner commented 4 years ago

Now that 1.13 is out and will receive the most important backported fixes, it's time to target a recent compiler with the next version.