[Note: Visual Studio 2015 is not officially supported by pylon 4]


Visual Studio 2015 introduces user-defined literals and therefore the literal operator "" (two double quotes, C++11 standard). This new operator conflicts with normal string concatenation behavior, e.g. "GenApi""_v2_0"".lib" would result in the string "GenApi_v2_0.lib". As you can see "GenApi""_v2_0"".lib" contains the new literal operator. That’s why programs containing such a string build successfully with earlier Visual Studio versions, but fail to compile with Visual Studio 2015. When changed to "GenApi" "_v2_0" ".lib" a program will compile with Visual Studio 2015 because there is no literal operator anymore. String concatenation is often used in preprocessor macros and it is also used in pylon and GenICam.


The following header file fixes must be applied to get the pylon C++ samples to build and run with Visual Studio 2015:


1. Remove the Token-Pasting operator ## in pylon/PylonLinkage.h line 83 (pylon 4.2), the Token-Pasting operator removes the space between the string literals and creates a literal operator.


2. #define PYLON_LIB_NAME( module ) module ## PYLON_SUFFIX( PYLON_CONFIGURATION, PYLON_COMPILER_STR, "lib" )