Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running on Windows/MSVC 2015 #14

Open
rapoth opened this issue Oct 15, 2016 · 6 comments
Open

Running on Windows/MSVC 2015 #14

rapoth opened this issue Oct 15, 2016 · 6 comments

Comments

@rapoth
Copy link

rapoth commented Oct 15, 2016

Hi - Thank you for the excellent library. Looks very interesting. Do you have any plans of adding instructions for pre-requisites and compilation instructions on Windows (e.g., using MSVC 2015)?

@haptork
Copy link
Owner

haptork commented Oct 15, 2016

Yes, surely. The only problem is I don't personally have a Windows system. The last time I checked with Windows 7 but found that MSVC 2015 requires Windows 10. I hope to make some progress this week.

@rapoth
Copy link
Author

rapoth commented Oct 17, 2016

Thank you for your time! It would be great to be able to run on Windows.

Also, is Boost a hard requirement for easyLambda?

@rapoth
Copy link
Author

rapoth commented Oct 18, 2016

So I've tried a few more things:

  1. Compile and Install Boost (compiled with mpi)
  2. Install Microsoft MPI SDK v7.1 and verify that I was able to compile a simple hello world program and run it through mpiexec.exe

When I try to compile using MSVC 2015, I get the following errors. Perhaps I am missing something trivial?


1>------ Build started: Project: easyLambdaExample, Configuration: Release x64 ------
1>  easyLambdaExample.cpp
1>C:\src\boost\boost/mpi/detail/mpi_datatype_primitive.hpp(61): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>C:\src\boost\boost/mpi/detail/mpi_datatype_primitive.hpp(80): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>C:\src\boost\boost/mpi/detail/packed_iprimitive.hpp(62): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>C:\src\boost\boost/mpi/detail/packed_iprimitive.hpp(106): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>C:\src\boost\boost/mpi/detail/binary_buffer_iprimitive.hpp(64): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>C:\src\boost\boost/mpi/detail/packed_oprimitive.hpp(52): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>C:\src\boost\boost/mpi/detail/packed_oprimitive.hpp(96): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
1>C:\src\boost\boost/mpi/detail/packed_oprimitive.hpp(100): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>C:\src\boost\boost/mpi/detail/binary_buffer_oprimitive.hpp(53): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>E:\github\easyLambda\include\ezl/algorithms/io.hpp(511): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
1>E:\github\easyLambda\include\ezl/helper/Par.hpp(32): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>E:\github\easyLambda\include\ezl/helper/Par.hpp(38): warning C4244: '=': conversion from '__int64' to 'int', possible loss of data
1>E:\github\easyLambda\include\ezl/helper/ProcReq.hpp(32): warning C4800: 'ezl::T': forcing value to bool 'true' or 'false' (performance warning)
1>E:\github\easyLambda\include\ezl/helper/ProcReq.hpp(65): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>E:\github\easyLambda\include\ezl/helper/ProcReq.hpp(83): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
1>E:\github\easyLambda\include\ezl/helper/Karta.hpp(43): warning C4800: 'ezl::T': forcing value to bool 'true' or 'false' (performance warning)
1>E:\github\easyLambda\include\ezl/helper/Karta.hpp(218): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
1>E:\github\easyLambda\include\ezl/pipeline/Flow.hpp(165): error C2059: syntax error: ','
1>  E:\github\easyLambda\include\ezl/pipeline/Flow.hpp(244): note: see reference to class template instantiation 'ezl::Flow<I,O>' being compiled
1>E:\github\easyLambda\include\ezl/pipeline/Flow.hpp(165): error C2976: 'ezl::Flow': too few template arguments
1>  E:\github\easyLambda\include\ezl/pipeline/Flow.hpp(36): note: see declaration of 'ezl::Flow'
1>E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(58): error C2210: '_Test' : pack expansions cannot be used as arguments to non-packed parameters in alias templates
1>  E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(64): note: see reference to class template instantiation 'ezl::detail::meta::setDiff<ezl::detail::meta::slct<Ns...>,ezl::detail::meta::slct<T,Ts...>>' being compiled
1>E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(143): error C2514: 'ezl::detail::meta::isBool<Is...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(143): error C2039: 'type': is not a member of 'std::enable_if<false,void>'
1>E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(143): error C2146: syntax error: missing '>' before identifier 'type'
1>E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(150): error C2514: 'ezl::detail::meta::isBool<Is...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(150): error C2039: 'type': is not a member of 'std::enable_if<false,void>'
1>E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(150): error C2146: syntax error: missing '>' before identifier 'type'
1>E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(154): error C2953: 'ezl::detail::meta::saneSlctImpl<N,ezl::detail::meta::slct<Ns...>,int>': class template has already been defined
1>  E:\github\easyLambda\include\ezl/helper/meta/slct.hpp(143): note: see declaration of 'ezl::detail::meta::saneSlctImpl<N,ezl::detail::meta::slct<Ns...>,int>'
1>E:\github\easyLambda\include\ezl/helper/meta/prettyprint.hpp(144): error C2061: syntax error: identifier 'ostream_type'
1>  E:\github\easyLambda\include\ezl/helper/meta/prettyprint.hpp(156): note: see reference to class template instantiation 'pretty_print::print_container_helper<T,TChar,TCharTraits,TDelimiters>::printer<std::pair<_Other1,_Other2>>' being compiled
1>E:\github\easyLambda\include\ezl/helper/meta/prettyprint.hpp(144): error C2238: unexpected token(s) preceding ';'
1>E:\github\easyLambda\include\ezl/helper/meta/prettyprint.hpp(166): error C2061: syntax error: identifier 'ostream_type'
1>  E:\github\easyLambda\include\ezl/helper/meta/prettyprint.hpp(199): note: see reference to class template instantiation 'pretty_print::print_container_helper<T,TChar,TCharTraits,TDelimiters>::printer<std::tuple<_Types1...>>' being compiled
1>E:\github\easyLambda\include\ezl/helper/meta/prettyprint.hpp(166): error C2238: unexpected token(s) preceding ';'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(55): error C2059: syntax error: '<end Parse>'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(55): error C2993: 'ezl::detail::meta::can_call<F&&,As...>': illegal type for non-type template parameter '_Test'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(56): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(56): error C2061: syntax error: identifier 'invokeFallBack'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(56): error C2143: syntax error: missing ';' before '{'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(56): error C2447: '{': missing function header (old-style formal list?)
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(63): error C2275: 'ezl::detail::meta::can_call<F&&,As...>': illegal use of this type as an expression
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(63): error C2059: syntax error: '<end Parse>'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(64): error C2988: unrecognizable template declaration/definition
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(64): error C2059: syntax error: '{'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(64): error C2143: syntax error: missing ';' before '{'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(64): error C2447: '{': missing function header (old-style formal list?)
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(69): error C2059: syntax error: '<end Parse>'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(69): error C2993: 'ezl::detail::meta::can_call<F&&,As...>': illegal type for non-type template parameter '_Test'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(70): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(70): error C2374: 'ezl::detail::meta::type': redefinition; multiple initialization
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(56): note: see declaration of 'ezl::detail::meta::type'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(70): error C2061: syntax error: identifier 'invokeResFallBack'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(70): error C2143: syntax error: missing ';' before '{'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(70): error C2447: '{': missing function header (old-style formal list?)
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(76): error C2275: 'ezl::detail::meta::can_call<F&&,As...>': illegal use of this type as an expression
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(76): error C2059: syntax error: '<end Parse>'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(77): error C2988: unrecognizable template declaration/definition
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(77): error C2059: syntax error: '{'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(77): error C2143: syntax error: missing ';' before '{'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(77): error C2447: '{': missing function header (old-style formal list?)
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(116): error C2514: 'ezl::detail::meta::can_call<F,A...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(128): error C2514: 'ezl::detail::meta::can_call<F,A...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(128): error C2572: 'ezl::detail::meta::invokeMap': redefinition of default argument: parameter 1
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(114): note: see declaration of 'ezl::detail::meta::invokeMap'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(131): error C2995: 'decltype(auto) ezl::detail::meta::invokeMap(F &&,const std::tuple<_Types1...> &,std::enable_if<,void>::type *)': function template has already been defined
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(114): note: see declaration of 'ezl::detail::meta::invokeMap'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(137): error C2514: 'ezl::detail::meta::can_call<F,Ks...,unknown-type>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(138): error C2514: 'ezl::detail::meta::can_call<F,unknown-type,unknown-type>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(153): error C2514: 'ezl::detail::meta::can_call<F,unknown-type,unknown-type>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(153): error C2572: 'ezl::detail::meta::invokeReduceAll': redefinition of default argument: parameter 1
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(135): note: see declaration of 'ezl::detail::meta::invokeReduceAll'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(155): error C2995: 'decltype(auto) ezl::detail::meta::invokeReduceAll(F &&,const std::tuple<_Types1...> &,const std::vector<std::tuple<_Rest...>,std::allocator<_Ty>> &,std::enable_if<,void>::type *)': function template has already been defined
1>          with
1>          [
1>              _Ty=std::tuple<_Rest...>
1>          ]
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(135): note: see declaration of 'ezl::detail::meta::invokeReduceAll'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(163): error C2514: 'ezl::detail::meta::can_call<F,Ks...,unknown-type>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(164): error C2514: 'ezl::detail::meta::can_call<F,std::tuple<_Types1...>,unknown-type>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(174): error C2514: 'ezl::detail::meta::can_call<F&&,unknown-type,unknown-type>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(181): error C2514: 'ezl::detail::meta::can_call<F&&,Ks...,Vs...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(181): error C2572: 'ezl::detail::meta::invokeReduceAll': redefinition of default argument: parameter 1
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(172): note: see declaration of 'ezl::detail::meta::invokeReduceAll'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(186): error C2995: 'decltype(auto) ezl::detail::meta::invokeReduceAll(F &&,const std::tuple<_Types1...> &,const std::tuple<_Rest...> &,std::enable_if<,void>::type *)': function template has already been defined
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(172): note: see declaration of 'ezl::detail::meta::invokeReduceAll'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(192): error C2514: 'ezl::detail::meta::can_call<F&&,Ks...,Vs...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(193): error C2514: 'ezl::detail::meta::can_call<F&&,std::tuple<_Types1...>,std::tuple<_Rest...>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(194): error C2572: 'ezl::detail::meta::invokeReduceAll': redefinition of default argument: parameter 1
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(172): note: see declaration of 'ezl::detail::meta::invokeReduceAll'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(209): error C2514: 'ezl::detail::meta::can_call<F&&,O&,std::tuple<_Rest...>,std::tuple<_Types2...>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(219): error C2514: 'ezl::detail::meta::can_call<F&&,std::tuple<_Types1...>,std::tuple<_Rest...>,std::tuple<_Types2...>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(220): error C2514: 'ezl::detail::meta::can_call<F&&,Os...,Ks...,std::tuple<_Types2...>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(221): error C2514: 'ezl::detail::meta::can_call<F&&,Os...,Ks...,Vs...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(233): error C2514: 'ezl::detail::meta::can_call<F&&,O&,std::tuple<_Rest...>,std::tuple<_Types2...>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(234): error C2514: 'ezl::detail::meta::can_call<F&&,O&,Ks...,Vs...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(234): error C2572: 'ezl::detail::meta::invokeReduce': redefinition of default argument: parameter 1
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(206): note: see declaration of 'ezl::detail::meta::invokeReduce'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(238): error C2995: 'decltype(auto) ezl::detail::meta::invokeReduce(F &&,O &,const std::tuple<_Rest...> &,const std::tuple<_Types2...> &,std::enable_if<,void>::type *)': function template has already been defined
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(206): note: see declaration of 'ezl::detail::meta::invokeReduce'
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(245): error C2514: 'ezl::detail::meta::isTuple<O>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(246): error C2514: 'ezl::detail::meta::can_call<F&&,O&,std::tuple<_Rest...>,std::tuple<_Types2...>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(247): error C2514: 'ezl::detail::meta::can_call<F&&,O&,Ks...,Vs...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(247): error C2572: 'ezl::detail::meta::invokeReduce': redefinition of default argument: parameter 1
1>  E:\github\easyLambda\include\ezl/helper/meta/funcInvoke.hpp(206): note: see declaration of 'ezl::detail::meta::invokeReduce'
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(138): error C2514: 'ezl::detail::meta::can_call<F,std::tuple<_Types1...>,std::tuple<std::vector<Vs,std::allocator<Vs>>...>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(139): error C2514: 'ezl::detail::meta::can_call<F,Ks...,std::vector<Vs,std::allocator<Vs>>...>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(139): error C2039: 'type': is not a member of 'std::enable_if<false,void>'
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(139): error C2146: syntax error: missing '>' before identifier 'type'
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(148): error C2514: 'ezl::detail::meta::can_call<F,std::tuple<_Types1...>,std::vector<std::tuple<_Rest...>,std::allocator<std::tuple<_Rest...>>>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(149): error C2514: 'ezl::detail::meta::can_call<F,Ks...,std::vector<std::tuple<_Rest...>,std::allocator<std::tuple<_Rest...>>>>': class has no constructors
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(149): error C2039: 'type': is not a member of 'std::enable_if<false,void>'
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(149): error C2146: syntax error: missing '>' before identifier 'type'
1>E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(151): error C2953: 'ezl::detail::meta::BufType<F,std::tuple<_Types1...>,std::tuple<_Rest...>,int>': class template has already been defined
1>  E:\github\easyLambda\include\ezl/helper/meta/typeInfo.hpp(139): note: see declaration of 'ezl::detail::meta::BufType<F,std::tuple<_Types1...>,std::tuple<_Rest...>,int>'
1>E:\github\easyLambda\include\ezl/units/Map.hpp(61): error C2514: 'ezl::detail::meta::isVector<T>': class has no constructors
1>  E:\github\easyLambda\include\ezl/units/Map.hpp(87): note: see reference to class template instantiation 'ezl::detail::Map<Types>' being compiled
1>E:\github\easyLambda\include\ezl/units/Map.hpp(76): error C2514: 'ezl::detail::meta::isVector<T>': class has no constructors
1>E:\github\easyLambda\include\ezl/units/Map.hpp(84): error C2535: 'auto ezl::detail::Map<Types>::callEm(const Types::I &,std::enable_if<,void>::type *)': member function already defined or declared
1>  E:\github\easyLambda\include\ezl/units/Map.hpp(61): note: see declaration of 'ezl::detail::Map<Types>::callEm'
1>E:\github\easyLambda\include\ezl/helper/meta/serializeTuple.hpp(45): error C2061: syntax error: identifier 'uint'
1>E:\github\easyLambda\include\ezl/helper/meta/serializeTuple.hpp(52): error C2913: explicit specialization; 'boost::serialization::Serialize' is not a specialization of a class template
1>E:\github\easyLambda\include\ezl/helper/meta/serializeTuple.hpp(58): error C2913: explicit specialization; 'boost::serialization::Serialize' is not a specialization of a class template
1>E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(107): error C2059: syntax error: ','
1>  E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(508): note: see reference to class template instantiation 'ezl::detail::MPIBridge<IO,Kslct,Partitioner>' being compiled
1>E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(107): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(107): error C2059: syntax error: ','
1>E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(107): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(107): error C2059: syntax error: ','
1>E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(107): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(107): error C2059: syntax error: '{'
1>E:\github\easyLambda\include\ezl/units/MPIBridge.hpp(107): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>E:\github\easyLambda\include\ezl/units/ReduceAll.hpp(109): error C2514: 'ezl::detail::meta::isVector<T>': class has no constructors
1>  E:\github\easyLambda\include\ezl/units/ReduceAll.hpp(171): note: see reference to class template instantiation 'ezl::detail::ReduceAll<TypeInfo>' being compiled
1>E:\github\easyLambda\include\ezl/units/ReduceAll.hpp(123): error C2514: 'ezl::detail::meta::isVector<T>': class has no constructors
1>E:\github\easyLambda\include\ezl/units/ReduceAll.hpp(130): error C2535: 'auto ezl::detail::ReduceAll<TypeInfo>::callEm(const TypeInfo::ktype &,const TypeInfo::buftype &,std::enable_if<,void>::type *)': member function already defined or declared
1>  E:\github\easyLambda\include\ezl/units/ReduceAll.hpp(109): note: see declaration of 'ezl::detail::ReduceAll<TypeInfo>::callEm'
1>E:\github\easyLambda\include\ezl/units/Reduce.hpp(115): error C2514: 'ezl::detail::meta::isVector<T>': class has no constructors
1>  E:\github\easyLambda\include\ezl/units/Reduce.hpp(173): note: see reference to class template instantiation 'ezl::detail::Reduce<TypeInfo>' being compiled
1>E:\github\easyLambda\include\ezl/units/Reduce.hpp(129): error C2514: 'ezl::detail::meta::isVector<T>': class has no constructors
1>E:\github\easyLambda\include\ezl/units/Reduce.hpp(140): error C2535: 'auto ezl::detail::Reduce<TypeInfo>::callEm(std::enable_if<,void>::type *)': member function already defined or declared
1>  E:\github\easyLambda\include\ezl/units/Reduce.hpp(115): note: see declaration of 'ezl::detail::Reduce<TypeInfo>::callEm'
1>E:\github\easyLambda\include\ezl/units/Reduce.hpp(143): error C2514: 'ezl::detail::meta::isVector<T>': class has no constructors
1>E:\github\easyLambda\include\ezl/units/Reduce.hpp(151): error C2514: 'ezl::detail::meta::isVector<T>': class has no constructors
1>E:\github\easyLambda\include\ezl/units/Reduce.hpp(160): error C2535: 'auto ezl::detail::Reduce<TypeInfo>::callKey(unordered_map<TypeInfo::ktype,TypeInfo::FO,boost::hash<K>,std::equal_to<K>,std::allocator<std::pair<const K,T>>>::iterator,std::enable_if<,void>::type *)': member function already defined or declared
1>          with
1>          [
1>              K=TypeInfo::ktype,
1>              T=TypeInfo::FO
1>          ]
1>  E:\github\easyLambda\include\ezl/units/Reduce.hpp(143): note: see declaration of 'ezl::detail::Reduce<TypeInfo>::callKey'
1>E:\github\easyLambda\include\ezl/units/Rise.hpp(60): error C2059: syntax error: ','
1>  E:\github\easyLambda\include\ezl/units/Rise.hpp(102): note: see reference to class template instantiation 'ezl::detail::Rise<F,I>' being compiled
1>E:\github\easyLambda\include\ezl/units/Rise.hpp(60): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>E:\github\easyLambda\include\ezl/units/Rise.hpp(60): fatal error C1003: error count exceeds 100; stopping compilation
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

@haptork
Copy link
Owner

haptork commented Oct 18, 2016

Thanks for the details. That's huge error list but looking closely, there seems to be recurring errors of same type (like C2514) mostly in meta programming specific code.

It might be some VS nuance e.g. for error C2514 my best guess is that VS may require an empty definition instead of just no-op declaration in tag-dispatch and type-traits etc. I think similar small changes will do for other error as well. I will try it on VS 2015 soon and comment on the quick fixes and my initial understanding of the errors.

@rapoth
Copy link
Author

rapoth commented Oct 18, 2016

Great, thank you! Please do let me know if you need any other details.

@haptork
Copy link
Owner

haptork commented Nov 14, 2019

The library now has a serial mode that does not require MPI and boost counterparts. It also has a CMake to take care of dependencies and generate builds for VS. I think with these two it might now be easier to test builds on MSVC.

Currently the CI is travis on Linux but I'm hoping to test it with appveyor too. I think now it will be easier to test. I'll close this once I get this working in appveyor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants