Yup! It should match the the minimum requirements mentioned at the very least. 
It should also compile fine under 2017 though I don't believe anyone has yet.

Sent from my iPhone

> On Jul 13, 2017, at 6:08 AM, Daniel Farcovich <daniel.farcov...@amdocs.com> 
> wrote:
> 
> From BUILDING.md:
> 
> Windows Generator
> 
> The recommended generator on Windows is Visual Studio 12 2013 Win64:
> 
> $ cmake -G "Visual Studio 12 2013 Win64" ../src
> 
> 
> Should we change that?
> 
> Daniel
> 
> -----Original Message-----
> From: Jacob Barrett [mailto:jbarr...@pivotal.io] 
> Sent: Thursday, July 13, 2017 3:06 PM
> To: dev@geode.apache.org
> Subject: Re: Geode-Native Windows build
> 
> VS 2013 is not fully C++11 compliant. The minimum compiler on windows is VS 
> 2015.
> 
> Sent from my iPhone
> 
>> On Jul 13, 2017, at 4:32 AM, Daniel Farcovich <daniel.farcov...@amdocs.com> 
>> wrote:
>> 
>> As I mentioned in the first email I receive compilation errors, for example:
>> 31>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
>>  error C2144: syntax error : 'bool' should be preceded by ';' 
>> (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>> 
>> The root cause of this error is in the use of "constexpr" in utils.hpp and 
>> build in VS2013.
>> There are features of c++11 which are not implemented in various VS versions.
>> Here is a table with the unsupported features, where constexpr is one of 
>> them:
>> https://msdn.microsoft.com/en-us/library/hh567368.aspx#featurelist
>> 
>> I assume the rest of the errors are of the same reason.
>> 
>> Although boost has already macros to workaround constexpr (BOOST_CONSTEXPR), 
>> my suggestion is to add a macro to geode_base.hpp for removing constexpr 
>> when it's not supported:
>> #ifdef _WIN32
>> #if _MSC_VER > 1800 //VS2015 and higher #define GF_CONSTEXPR constexpr 
>> #else #define GF_CONSTEXPR #endif #else #define GF_CONSTEXPR constexpr 
>> #endif
>> 
>> Daniel
>> 
>> -----Original Message-----
>> From: Daniel Farcovich
>> Sent: Thursday, July 13, 2017 10:07 AM
>> To: 'dev@geode.apache.org' <dev@geode.apache.org>
>> Subject: RE: Geode-Native Windows build
>> 
>> Hi Jake and Ernest,
>> 
>> I tried to build from c:\build
>> Here is the config command and output:
>> 
>> c:\build>cmake  -DCMAKE_INSTALL_PREFIX=C:\build\out -G "Visual Studio 
>> 12 2013 Win64" -Thost=x64 
>> C:\Users\Fdaniel\Source\Repos\geode-native2\src
>> -- The C compiler identification is MSVC 18.0.21005.1
>> -- The CXX compiler identification is MSVC 18.0.21005.1
>> -- Check for working C compiler: C:/Program Files (x86)/Microsoft 
>> Visual Studio 12.0/VC/bin/amd64/cl.exe
>> -- Check for working C compiler: C:/Program Files (x86)/Microsoft 
>> Visual Studio 12.0/VC/bin/amd64/cl.exe -- works
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft 
>> Visual Studio 12.0/VC/bin/amd64/cl.exe
>> -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft 
>> Visual Studio 12.0/VC/bin/amd64/cl.exe -- works
>> -- Detecting CXX compiler ABI info
>> -- Detecting CXX compiler ABI info - done
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- Performing Test CFLAGS_M64_ALLOWED
>> -- Performing Test CFLAGS_M64_ALLOWED - Failed
>> -- Performing Test CXXFLAGS_M64_ALLOWED
>> -- Performing Test CXXFLAGS_M64_ALLOWED - Failed
>> -- Performing Test CFLAGS_mt_ALLOWED
>> -- Performing Test CFLAGS_mt_ALLOWED - Failed
>> -- Found Java: C:/Program Files/Java/jdk1.8.0_74/bin/java.exe (found 
>> suitable version "1.8.0.74", minimum required is "1.8.0.60") found 
>> components:  Development
>> -- Found Geode: 
>> C:\Users\Fdaniel\Source\Repos\geode\geode-assembly\build\install\apach
>> e-geode\bin\gfsh.bat (found suitable version "1.1.1", minimum required 
>> is "1.0")
>> -- Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found 
>> suitable version "1.8.13", minimum required is "1.6")
>> -- Found Git: C:/Program Files/Git/cmd/git.exe (found suitable version 
>> "2.10.2.windows.1", minimum required is "1.7")
>> -- Looking for include files sys/param.h, sys/mount.h
>> -- Looking for include files sys/param.h, sys/mount.h - not found
>> -- Looking for SIGSTKFLT
>> -- Looking for SIGSTKFLT - not found
>> -- Looking for SIGPWR
>> -- Looking for SIGPWR - not found
>> -- Found Geode: 
>> C:\Users\Fdaniel\Source\Repos\geode\geode-assembly\build\install\apach
>> e-geode\bin\gfsh.bat (found version "1.1.1")
>> -- Found Java: C:/Program Files/Java/jdk1.8.0_74/bin/java.exe (found 
>> version "1.8.0.74")
>> -- Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found 
>> version "1.8.13")
>> -- Configuring done
>> -- Generating done
>> 
>> -- Build files have been written to: C:/build
>> 
>> 
>> PFA CMakeError.log and CMakeOutput.log after "cmake --build . -- /m"
>> 
>> Thanks,
>> Daniel
>> 
>> -----Original Message-----
>> From: Jacob Barrett [mailto:jbarr...@pivotal.io]
>> Sent: Wednesday, July 12, 2017 5:11 PM
>> To: dev@geode.apache.org
>> Subject: Re: Geode-Native Windows build
>> 
>> While we wait for your config output there is something else that might bite 
>> you if it isn't what is biting you now. Some of the third part libraries 
>> built as part of Geode native have deep directory structures. Your deep 
>> directory structure to your sources combine with that may result in paths 
>> over the windows limit. 
>> 
>> Consider using something more shallow on windows, like C:\build. Your source 
>> can be anywhere since CMake builds are outside the source tree.
>> 
>> -Jake
>> 
>> 
>> Sent from my iPhone
>> 
>>> On Jul 12, 2017, at 6:52 AM, Daniel Farcovich <daniel.farcov...@amdocs.com> 
>>> wrote:
>>> 
>>> Hi,
>>> I'm failing to build geode native cpp client on windows, although 
>>> followed the instructions on BUILDING.md Looks like there are 
>>> slash/backslash fixes should be done in the paths in cmake files.
>>> After overcoming cmake  failures the build fails on stage "cmake --build . 
>>> -- /m" with compilation errors for example:
>>> 
>>> 31>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
>>>  error C2144: syntax error : 'bool' should be preceded by ';' 
>>> (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>>>     cpp) 
>>> [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode-static.vcxproj]
>>>   
>>> 4>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
>>>  error C2144: syntax error : 'bool' should be preceded by ';' 
>>> (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>>>     cpp) 
>>> [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode.vcxproj]
>>>  31>ClCompile:
>>>               
>>> C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(61)
>>>  : see reference to class template instantiation 
>>> 'apache::geode::client::dereference_equal_to<std::shared_ptr<_Ty>>' being 
>>> compiled
>>>   4>ClCompile:
>>>               
>>> C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(61)
>>>  : see reference to class template instantiation 
>>> 'apache::geode::client::dereference_equal_to<std::shared_ptr<_Ty>>' being 
>>> compiled
>>>  
>>> 31>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
>>>  error C4430: missing type specifier - int assumed. Note: C++ does not 
>>> support default-int (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppc
>>>     ache\src\FunctionServiceImpl.cpp) 
>>> [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode-static.vcxproj]
>>>   
>>> 4>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(57):
>>>  error C4430: missing type specifier - int assumed. Note: C++ does not 
>>> support default-int (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppc
>>>     ache\src\FunctionServiceImpl.cpp) 
>>> [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode.vcxproj]
>>>  
>>> 31>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(67):
>>>  error C2144: syntax error : 'bool' should be preceded by ';' 
>>> (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>>>     cpp) 
>>> [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode-static.vcxproj]
>>>   
>>> 4>C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(67):
>>>  error C2144: syntax error : 'bool' should be preceded by ';' 
>>> (C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\src\FunctionServiceImpl.
>>>     cpp) 
>>> [C:\Users\Fdaniel\Source\Repos\geode-native2\build\cppcache\src\apache-geode.vcxproj]
>>>  31>ClCompile:
>>>               
>>> C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geode/utils.hpp(71)
>>>  : see reference to class template instantiation 
>>> 'apache::geode::client::dereference_equal_to<_T*>' being compiled
>>>   4>ClCompile:
>>> 
>>> C:\Users\Fdaniel\Source\Repos\geode-native2\src\cppcache\include\geod
>>> e
>>> /utils.hpp(71) : see reference to class template instantiation 
>>> 'apache::geode::client::dereference_equal_to<_T*>' being compiled
>>> 
>>> 
>>> Is the windows native client build stable?
>>> 
>>> Thanks,
>>> Daniel
>>> 
>>> This message and the information contained herein is proprietary and 
>>> confidential and subject to the Amdocs policy statement,
>>> 
>>> you may review at https://www.amdocs.com/about/email-disclaimer
>>> <https://www.amdocs.com/about/email-disclaimer>
>> This message and the information contained herein is proprietary and 
>> confidential and subject to the Amdocs policy statement,
>> 
>> you may review at https://www.amdocs.com/about/email-disclaimer 
>> <https://www.amdocs.com/about/email-disclaimer>
>> 
> This message and the information contained herein is proprietary and 
> confidential and subject to the Amdocs policy statement,
> 
> you may review at https://www.amdocs.com/about/email-disclaimer 
> <https://www.amdocs.com/about/email-disclaimer>
> 

Reply via email to