niessner / Opt

Opt DSL
Other
254 stars 68 forks source link

build error, most related to ArrayKernel #109

Open mxgbs opened 6 years ago

mxgbs commented 6 years ago

Hi,

I got following error when try to build Opt. My platform is VS2015, 64bits, windows10. It seems that most errors are associated with ArrayKernel. Another one is re-definition error in Opt.h(10): error C2011: 'Opt_InitializationParameters': 'struct' type redefinition. Do you have any idea how to solve that? Thank you.

1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(86): error C2440: 'specialization': cannot convert from 'overloaded-function' to 'bool (cdecl OpenMesh::ArrayKernel:: )(void) const' 1> C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(86): note: None of the functions with this name in scope match the target type 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(86): error C2440: 'specialization': cannot convert from 'overloaded-function' to 'size_t (__cdecl OpenMesh::ArrayKernel:: )(void) const' 1> C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(86): note: None of the functions with this name in scope match the target type 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(87): error C2440: 'specialization': cannot convert from 'overloaded-function' to 'bool (__cdecl OpenMesh::ArrayKernel::* )(void) const' 1> C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(87): note: None of the functions with this name in scope match the target type 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(87): error C2440: 'specialization': cannot convert from 'overloaded-function' to 'size_t (cdecl OpenMesh::ArrayKernel:: )(void) const' 1> C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(87): note: None of the functions with this name in scope match the target type 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(88): error C2440: 'specialization': cannot convert from 'overloaded-function' to 'bool (__cdecl OpenMesh::ArrayKernel:: )(void) const' 1> C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(88): note: None of the functions with this name in scope match the target type 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(88): error C2440: 'specialization': cannot convert from 'overloaded-function' to 'size_t (cdecl OpenMesh::ArrayKernel::* )(void) const' 1> C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(88): note: None of the functions with this name in scope match the target type 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(89): error C2440: 'specialization': cannot convert from 'overloaded-function' to 'bool (cdecl OpenMesh::ArrayKernel:: )(void) const' 1> C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(89): note: None of the functions with this name in scope match the target type 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(89): error C2440: 'specialization': cannot convert from 'overloaded-function' to 'size_t (__cdecl OpenMesh::ArrayKernel:: )(void) const' 1> C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(89): note: None of the functions with this name in scope match the target type 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(397): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\Users\dengya\Documents\Optlang\Opt\examples\external\OpenMesh\include\OpenMesh/Core/Mesh/PolyConnectivity.hh(397): warning C4091: ' ': ignored on left of 'const int' when no variable is declared 1>C:\Users\dengya\Documents\Optlang\Opt\API\release\include\Opt.h(10): error C2011: 'Opt_InitializationParameters': 'struct' type redefinition 1> c:\users\dengya\documents\optlang\opt\examples\shared\Opt.h(28): note: see declaration of 'Opt_InitializationParameters

Mx7f commented 6 years ago

The binary we distribute with OpenMesh is compiled using VS2013, other versions (like 2015) may not work and you'll need to compile it yourself, like in #105.