Topics

Error when building on windows

sharsnik@...
 

I am building Dionysus on Windows 10 using vcpkg and python 3.6.5. I'm getting a variety of errors that I suspect all have the same cause. Here's an example of the errors I get when building filtration-persistence.exe. All examples give similar such errors.

\dionysus\include\dionysus\simplex.h(240): error C2244: 'dionysus::Simplex<Vertex_,T>::boundary_begin': unable to match function definition to an existing declaration 
\dionysus\include\dionysus\simplex.h(250): error C2244: 'dionysus::Simplex<Vertex_,T>::boundary_end': unable to match function definition to an existing declaration 
\dionysus\examples\filtration\filtration-persistence.cpp(48): error C2976: 'dionysus::RowReduction': too few template arguments 
\dionysus\examples\filtration\filtration-persistence.cpp(48): error C2514: 'dionysus::RowReduction': class has no constructors 
\dionysus\examples\filtration\filtration-persistence.cpp(49): error C3848: expression having type 'dionysus::RowReduction' would lose some const-volatile qualifiers in order to call 'void dionysus::RowReduction<Field_,Index_,Comparison_,Visitors...>::operator ()<Filtration>(const Filtration &)' 


Dmitriy Morozov
 

I'm afraid I don't use Windows, so it's difficult for me to debug this problem. If anyone on the list has successfully used Dionysus on Windows, I hope they speak up.

Dmitriy

On Tue, Apr 10, 2018 at 1:17 PM, <sharsnik@...> wrote:
I am building Dionysus on Windows 10 using vcpkg and python 3.6.5. I'm getting a variety of errors that I suspect all have the same cause. Here's an example of the errors I get when building filtration-persistence.exe. All examples give similar such errors.

\dionysus\include\dionysus\simplex.h(240): error C2244: 'dionysus::Simplex<Vertex_,T>::boundary_begin': unable to match function definition to an existing declaration 
\dionysus\include\dionysus\simplex.h(250): error C2244: 'dionysus::Simplex<Vertex_,T>::boundary_end': unable to match function definition to an existing declaration 
\dionysus\examples\filtration\filtration-persistence.cpp(48): error C2976: 'dionysus::RowReduction': too few template arguments 
\dionysus\examples\filtration\filtration-persistence.cpp(48): error C2514: 'dionysus::RowReduction': class has no constructors 
\dionysus\examples\filtration\filtration-persistence.cpp(49): error C3848: expression having type 'dionysus::RowReduction' would lose some const-volatile qualifiers in order to call 'void dionysus::RowReduction<Field_,Index_,Comparison_,Visitors...>::operator ()<Filtration>(const Filtration &)' 



sharsnik@...
 

I should also mention that I'm using MSVC 19.13.26129.0 as the compiler and I have Boost 1.66.0.

On Tue, Apr 10, 2018 at 4:20 PM, Dmitriy Morozov <dmitriy@...> wrote:
I'm afraid I don't use Windows, so it's difficult for me to debug this problem. If anyone on the list has successfully used Dionysus on Windows, I hope they speak up.

Dmitriy

On Tue, Apr 10, 2018 at 1:17 PM, <sharsnik@...> wrote:
I am building Dionysus on Windows 10 using vcpkg and python 3.6.5. I'm getting a variety of errors that I suspect all have the same cause. Here's an example of the errors I get when building filtration-persistence.exe. All examples give similar such errors.

\dionysus\include\dionysus\simplex.h(240): error C2244: 'dionysus::Simplex<Vertex_,T>::boundary_begin': unable to match function definition to an existing declaration 
\dionysus\include\dionysus\simplex.h(250): error C2244: 'dionysus::Simplex<Vertex_,T>::boundary_end': unable to match function definition to an existing declaration 
\dionysus\examples\filtration\filtration-persistence.cpp(48): error C2976: 'dionysus::RowReduction': too few template arguments 
\dionysus\examples\filtration\filtration-persistence.cpp(48): error C2514: 'dionysus::RowReduction': class has no constructors 
\dionysus\examples\filtration\filtration-persistence.cpp(49): error C3848: expression having type 'dionysus::RowReduction' would lose some const-volatile qualifiers in order to call 'void dionysus::RowReduction<Field_,Index_,Comparison_,Visitors...>::operator ()<Filtration>(const Filtration &)' 






--
-Connor Brennan
Fractal Entertainment

Connor Brennan <sharsnik@...>
 

I solved this issue by using MinGW as my compiler.

Thanks.

On Tue, Apr 10, 2018 at 4:22 PM, Connor Brennan <sharsnik@...> wrote:
I should also mention that I'm using MSVC 19.13.26129.0 as the compiler and I have Boost 1.66.0.

On Tue, Apr 10, 2018 at 4:20 PM, Dmitriy Morozov <dmitriy@...> wrote:
I'm afraid I don't use Windows, so it's difficult for me to debug this problem. If anyone on the list has successfully used Dionysus on Windows, I hope they speak up.

Dmitriy

On Tue, Apr 10, 2018 at 1:17 PM, <sharsnik@...> wrote:
I am building Dionysus on Windows 10 using vcpkg and python 3.6.5. I'm getting a variety of errors that I suspect all have the same cause. Here's an example of the errors I get when building filtration-persistence.exe. All examples give similar such errors.

\dionysus\include\dionysus\simplex.h(240): error C2244: 'dionysus::Simplex<Vertex_,T>::boundary_begin': unable to match function definition to an existing declaration 
\dionysus\include\dionysus\simplex.h(250): error C2244: 'dionysus::Simplex<Vertex_,T>::boundary_end': unable to match function definition to an existing declaration 
\dionysus\examples\filtration\filtration-persistence.cpp(48): error C2976: 'dionysus::RowReduction': too few template arguments 
\dionysus\examples\filtration\filtration-persistence.cpp(48): error C2514: 'dionysus::RowReduction': class has no constructors 
\dionysus\examples\filtration\filtration-persistence.cpp(49): error C3848: expression having type 'dionysus::RowReduction' would lose some const-volatile qualifiers in order to call 'void dionysus::RowReduction<Field_,Index_,Comparison_,Visitors...>::operator ()<Filtration>(const Filtration &)' 






--
-Connor Brennan
Fractal Entertainment




--
-Connor Brennan
Fractal Entertainment