alecjacobson / gptoolbox

Matlab toolbox for Geometry Processing.
MIT License
628 stars 166 forks source link

Compiling mex file: 'mesh_boolean.cpp' with Windows7 / MATLAB 2015b / VS2013 #12

Closed oqilipo closed 8 years ago

oqilipo commented 8 years ago

Hi again ;-)

Now I'm trying to mex mesh_boolean.cpp. But the cork.lib is missing. Do I have use cmake to create a VS project and build it: C:\dev\libigl\external\cork\Makefile Or do I have to compile the VS project in: C:\dev\libigl\external\cork\win\wincork

Thank you

alecjacobson commented 8 years ago

You can skip cork if you define IGL_NO_CORK. Cork is an alternative to libigl's booleans that is faster but less robust.

On Tue, Apr 19, 2016 at 11:06 AM, oqilipo notifications@github.com wrote:

Hi again ;-)

Now I'm trying to mex mesh_boolean.cpp. But the cork.lib is missing. Do I have use cmake to create a VS project and build it: C:\dev\libigl\external\cork\Makefile Or do I have to compile the VS project in: C:\dev\libigl\external\cork\win\wincork

Thank you

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/alecjacobson/gptoolbox/issues/12

oqilipo commented 8 years ago

Like this?

LIBIGL_FLAGS='-IGL_NO_CORK';

Thanks

alecjacobson commented 8 years ago

I think it should be -DIGL_NO_CORK

On Tuesday, 19 April 2016, oqilipo notifications@github.com wrote:

Like this?

LIBIGL_FLAGS='-IGL_NO_CORK';

Thanks

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/alecjacobson/gptoolbox/issues/12#issuecomment-212025665

oqilipo commented 8 years ago

The exclusion of Cork seems to work, but unfortunately there are some compiling errors:

Matlab Code: mesh_boolean_compile_window.m

arch = '64';
msvc = '12';

path_to_boost='C:\dev\boost';
boost_version = '1_58';
path_to_cgal='C:\dev\CGAL';
cgal_version='4.8';
path_to_eigen='C:\dev\eigen';
path_to_libigl='C:\dev\libigl';
path_to_gmp = 'C:\dev\CGAL\auxiliary\gmp';

MEXOPTS={'-v','-largeArrayDims','-DMEX'};
MSSE42='CXXFLAGS=$CXXFLAGS -msse4.2';
STDCPP11='CXXFLAGS=$CXXFLAGS -std=c++11';

BOOST_INC=sprintf('-I%s',path_to_boost);
BOOST_LIB=strsplit(sprintf('-L%s/lib%s-msvc-%s.0 -lboost_thread-vc%s0-mt-%s.lib -lboost_system-vc%s0-mt-%s.lib',...
    path_to_boost, arch, msvc, msvc,boost_version, msvc,boost_version));

CGAL_INC=sprintf('-I%s/include',path_to_cgal);
CGAL_LIB=strsplit(sprintf('-L%s/lib -lCGAL-vc%s0-mt-%s.lib -lCGAL_Core-vc%s0-mt-%s.lib',...
    path_to_cgal, msvc,cgal_version, msvc,cgal_version));
CGAL_FLAGS='CXXFLAGS=\$CXXFLAGS -frounding-math';

EIGEN_INC=sprintf('-I%s/',path_to_eigen);

GMP_INC=sprintf('-I%s/include',path_to_gmp);
GMP_LIB=strsplit(sprintf('-L%s/lib  -llibgmp-10.lib -llibmpfr-4.lib',path_to_gmp));

LIBIGL_INC=sprintf('-I%s/include',path_to_libigl);
LIBIGL_FLAGS='-DIGL_SKIP';
LIBIGL_LIB={'-DIGL_SKIP'};
LIBIGL_LIBMATLAB='-DIGL_SKIP';
LIBIGL_LIBCGAL='-DIGL_SKIP';
LIBIGL_LIBCORK='-DIGL_NO_CORK';
LIBIGL_BASE={LIBIGL_INC,LIBIGL_FLAGS,LIBIGL_LIB{:},LIBIGL_LIBMATLAB};

mex( ...
  MEXOPTS{:}, MSSE42, STDCPP11, ...
  LIBIGL_BASE{:},EIGEN_INC, ...
  CGAL_INC,CGAL_LIB{:},CGAL_FLAGS, ...
  LIBIGL_LIBCGAL, LIBIGL_LIBCORK, ...
  BOOST_INC,BOOST_LIB{:}, ...
  GMP_INC, GMP_LIB{:},...
  'mesh_boolean.cpp');

error C2780

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2780: 'void igl::unique(const
Eigen::PlainObjectBase<Derived> &,Eigen::PlainObjectBase<DerivedFA> &)' : expects 2 arguments - 4 provided
        c:\dev\libigl\include\igl\unique.h(49) : see declaration of 'igl::unique'
        c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(868) : while compiling class template member
        function 'void
        igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::process_intersecting_boxes(void)'
                with
        [
            DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1>
,            DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>
,            DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1>
,            DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1>
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(398) : see reference to function template
        instantiation 'void
        igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::process_intersecting_boxes(void)'
        being compiled
        with
        [
            DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1>
,            DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>
,            DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1>
,            DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1>
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(326) : while compiling class template member
        function
        'igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::SelfIntersectMesh(const
        Eigen::PlainObjectBase<Eigen::Matrix<double,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        igl::copyleft::cgal::RemeshSelfIntersectionsParam
        &,Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &)'
        with
        [
            DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1>
,            DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>
,            DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1>
,            DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1>
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\remesh_self_intersections.cpp(59) : see reference to function
        template instantiation
        'igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::SelfIntersectMesh(const
        Eigen::PlainObjectBase<Eigen::Matrix<double,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        igl::copyleft::cgal::RemeshSelfIntersectionsParam
        &,Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &)' being compiled
        with
        [
            DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1>
,            DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>
,            DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1>
,            DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1>
        ]

error C2784

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2784: 'void igl::unique(const
Eigen::PlainObjectBase<Derived> &,Eigen::PlainObjectBase<DerivedFA> &,Eigen::PlainObjectBase<DerivedVB>
&,Eigen::PlainObjectBase<DerivedFB> &)' : could not deduce template argument for 'const
Eigen::PlainObjectBase<Derived> &' from 'initializer-list'
        c:\dev\libigl\include\igl\unique.h(41) : see declaration of 'igl::unique'

error C2780

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2780: 'void igl::unique(const
std::vector<DerivedV,std::allocator<_Ty>> &,std::vector<DerivedV,std::allocator<_Ty>> &)' : expects 2 arguments - 4
provided
        c:\dev\libigl\include\igl\unique.h(33) : see declaration of 'igl::unique'

error C2248

c:\dev\libigl\include\igl\copyleft\cgal\order_facets_around_edge.cpp(203) : error C2248:
'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase' : cannot access protected member declared
in class 'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>'
        c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(457) : see declaration of
        'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase'
        c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(484) : see reference to function template
        instantiation 'void
        igl::copyleft::cgal::order_facets_around_edge<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>>(const
        Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,size_t,size_t,const
        std::vector<int,std::allocator<_Ty>> &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &,bool)' being
        compiled
        with
        [
            _Ty=int
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(129) : see reference to function template
        instantiation 'size_t
        igl::copyleft::cgal::extract_cells_single_component<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,size_t,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>>(const
        Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        std::vector<std::vector<size_t,std::allocator<_Ty>>,std::allocator<std::vector<_Ty,std::allocator<_Ty>>>>
        &,const Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &)' being compiled
        with
        [
            _Ty=size_t
        ]
        c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(457) : see declaration of
        'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase'

error C2899

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(902) : error C2899: typename cannot be used outside a
template declaration
        c:\dev\libigl\include\igl\unique.h(49) : see declaration of 'igl::unique'
        c:\dev\libigl\include\igl\unique.h(41) : see declaration of 'igl::unique'
        c:\dev\libigl\include\igl\unique.h(33) : see declaration of 'igl::unique'
        c:\dev\libigl\include\igl\unique.h(27) : see declaration of 'igl::unique'

Full log: mesh_boolean_compile_windows.txt

Thanks in advance

alecjacobson commented 8 years ago

Hmmmm. Are you able to compile the libigl tutorial? What version of libigl, eigen, cgal do you have?

I don't have a windows machine to test on, but one thing you could try is replacing the line 902 in include/igl/copyleft/cgal/SelfIntersectMesh

        [&](const typename DerivedF::Scalar& vi) {

with

        [&](const typename DerivedF::Scalar vi) {

Though I don't know why windows would have a problem with that...

On Wed, Apr 20, 2016 at 6:06 AM, oqilipo notifications@github.com wrote:

The exclusion of Cork seems to work, but unfortunately there are some compiling errors:

Matlab Code: mesh_boolean_compile_window.m

arch = '64'; msvc = '12';

path_to_boost='C:\dev\boost'; boost_version = '1_58'; path_to_cgal='C:\dev\CGAL'; cgal_version='4.8'; path_to_eigen='C:\dev\eigen'; path_to_libigl='C:\dev\libigl'; path_to_gmp = 'C:\dev\CGAL\auxiliary\gmp';

MEXOPTS={'-v','-largeArrayDims','-DMEX'}; MSSE42='CXXFLAGS=$CXXFLAGS -msse4.2'; STDCPP11='CXXFLAGS=$CXXFLAGS -std=c++11';

BOOST_INC=sprintf('-I%s',path_to_boost); BOOST_LIB=strsplit(sprintf('-L%s/lib%s-msvc-%s.0 -lboost_thread-vc%s0-mt-%s.lib -lboost_system-vc%s0-mt-%s.lib',... path_to_boost, arch, msvc, msvc,boost_version, msvc,boost_version));

CGAL_INC=sprintf('-I%s/include',path_to_cgal); CGAL_LIB=strsplit(sprintf('-L%s/lib -lCGAL-vc%s0-mt-%s.lib -lCGAL_Core-vc%s0-mt-%s.lib',... path_to_cgal, msvc,cgal_version, msvc,cgal_version)); CGAL_FLAGS='CXXFLAGS=\$CXXFLAGS -frounding-math';

EIGEN_INC=sprintf('-I%s/',path_to_eigen);

GMP_INC=sprintf('-I%s/include',path_to_gmp); GMP_LIB=strsplit(sprintf('-L%s/lib -llibgmp-10.lib -llibmpfr-4.lib',path_to_gmp));

LIBIGL_INC=sprintf('-I%s/include',path_to_libigl); LIBIGL_FLAGS='-DIGL_SKIP'; LIBIGL_LIB={'-DIGL_SKIP'}; LIBIGL_LIBMATLAB='-DIGL_SKIP'; LIBIGL_LIBCGAL='-DIGL_SKIP'; LIBIGL_LIBCORK='-DIGL_NO_CORK'; LIBIGL_BASE={LIBIGL_INC,LIBIGL_FLAGS,LIBIGL_LIB{:},LIBIGL_LIBMATLAB};

mex( ... MEXOPTS{:}, MSSE42, STDCPP11, ... LIBIGL_BASE{:},EIGEN_INC, ... CGAL_INC,CGAL_LIB{:},CGAL_FLAGS, ... LIBIGL_LIBCGAL, LIBIGL_LIBCORK, ... BOOST_INC,BOOST_LIB{:}, ... GMP_INC, GMP_LIB{:},... 'mesh_boolean.cpp');

error C2780

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2780: 'void igl::unique(const Eigen::PlainObjectBase &,Eigen::PlainObjectBase &)' : expects 2 arguments - 4 provided c:\dev\libigl\include\igl\unique.h(49) : see declaration of 'igl::unique' c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(868) : while compiling class template member function 'void igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::process_intersecting_boxes(void)' with [ DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1> , DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1> , DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1> , DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1> ] c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(398) : see reference to function template instantiation 'void igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::process_intersecting_boxes(void)' being compiled with [ DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1> , DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1> , DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1> , DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1> ] c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(326) : while compiling class template member function 'igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::SelfIntersectMesh(const Eigen::PlainObjectBaseEigen::Matrix<double,-1,-1,0,-1,-1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,const igl::copyleft::cgal::RemeshSelfIntersectionsParam &,Eigen::PlainObjectBaseEigen::Matrix<ExactScalar,-1,-1,0,-1,-1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &)' with [ DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1> , DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1> , DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1> , DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1> ] c:\dev\libigl\include\igl\copyleft\cgal\remesh_self_intersections.cpp(59) : see reference to function template instantiation 'igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::SelfIntersectMesh(const Eigen::PlainObjectBaseEigen::Matrix<double,-1,-1,0,-1,-1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,const igl::copyleft::cgal::RemeshSelfIntersectionsParam &,Eigen::PlainObjectBaseEigen::Matrix<ExactScalar,-1,-1,0,-1,-1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &)' being compiled with [ DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1> , DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1> , DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1> , DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1> , DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1> ]

error C2784

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2784: 'void igl::unique(const Eigen::PlainObjectBase &,Eigen::PlainObjectBase &,Eigen::PlainObjectBase &,Eigen::PlainObjectBase &)' : could not deduce template argument for 'const Eigen::PlainObjectBase &' from 'initializer-list' c:\dev\libigl\include\igl\unique.h(41) : see declaration of 'igl::unique'

error C2780

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2780: 'void igl::unique(const std::vector<DerivedV,std::allocator<_Ty>> &,std::vector<DerivedV,std::allocator<_Ty>> &)' : expects 2 arguments - 4 provided c:\dev\libigl\include\igl\unique.h(33) : see declaration of 'igl::unique'

error C2248

c:\dev\libigl\include\igl\copyleft\cgal\order_facets_around_edge.cpp(203) : error C2248: 'Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1>::PlainObjectBase' : cannot access protected member declared in class 'Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1>' c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(457) : see declaration of 'Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1>::PlainObjectBase' c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(484) : see reference to function template instantiation 'void igl::copyleft::cgal::order_facets_around_edgeEigen::Matrix<ExactScalar,-1,-1,0,-1,-1,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>>(const Eigen::PlainObjectBaseEigen::Matrix<ExactScalar,-1,-1,0,-1,-1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,size_t,size_t,const std::vector<int,std::allocator<_Ty>> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &,bool)' being compiled with [ _Ty=int ] c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(129) : see reference to function template instantiation 'size_t igl::copyleft::cgal::extract_cells_single_componentEigen::Matrix<ExactScalar,-1,-1,0,-1,-1,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,size_t,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>>(const Eigen::PlainObjectBaseEigen::Matrix<ExactScalar,-1,-1,0,-1,-1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,const std::vectorstd::vector<size_t,std::allocator<_Ty>,std::allocatorstd::vector<_Ty,std::allocator<_Ty>>> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &)' being compiled with [ _Ty=size_t ] c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(457) : see declaration of 'Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1>::PlainObjectBase'

error C2899

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(902) : error C2899: typename cannot be used outside a template declaration c:\dev\libigl\include\igl\unique.h(49) : see declaration of 'igl::unique' c:\dev\libigl\include\igl\unique.h(41) : see declaration of 'igl::unique' c:\dev\libigl\include\igl\unique.h(33) : see declaration of 'igl::unique' c:\dev\libigl\include\igl\unique.h(27) : see declaration of 'igl::unique'

Full log: mesh_boolean_compile_windows.txt https://github.com/alecjacobson/gptoolbox/files/227672/mesh_boolean_compile_windows.txt

Thanks in advance

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/alecjacobson/gptoolbox/issues/12#issuecomment-212363391

oqilipo commented 8 years ago

Hi Back on the other machine.

The tutorial of libigl works fine in 32bit as well as 64bit.

Version libigl: https://github.com/libigl/libigl/tree/95f7c79d4f71ca62a5a63e504ab7a0d85f3370c8 Eigen: https://github.com/RLovelett/eigen/tree/fd3fbf0993bdbd0b4b6857207ed04163f83bc783 CGAL: 4.8

I've replaced the line, but the errors stay the same:

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2780: 'void igl::unique(const
Eigen::PlainObjectBase<Derived> &,Eigen::PlainObjectBase<DerivedFA> &)' : expects 2 arguments - 4 provided
        c:\dev\libigl\include\igl\unique.h(49) : see declaration of 'igl::unique'
        c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(868) : while compiling class template member
        function 'void
        igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::process_intersecting_boxes(void)'
                with
        [
            DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1>
,            DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>
,            DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1>
,            DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1>
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(398) : see reference to function template
        instantiation 'void
        igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::process_intersecting_boxes(void)'
        being compiled
        with
        [
            DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1>
,            DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>
,            DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1>
,            DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1>
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(326) : while compiling class template member
        function
        'igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::SelfIntersectMesh(const
        Eigen::PlainObjectBase<Eigen::Matrix<double,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        igl::copyleft::cgal::RemeshSelfIntersectionsParam
        &,Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &)'
        with
        [
            DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1>
,            DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>
,            DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1>
,            DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1>
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\remesh_self_intersections.cpp(59) : see reference to function
        template instantiation
        'igl::copyleft::cgal::SelfIntersectMesh<Kernel,DerivedV,DerivedF,DerivedVV,DerivedFF,DerivedIF,DerivedJ,DerivedIM>::SelfIntersectMesh(const
        Eigen::PlainObjectBase<Eigen::Matrix<double,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        igl::copyleft::cgal::RemeshSelfIntersectionsParam
        &,Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &)' being compiled
        with
        [
            DerivedV=Eigen::Matrix<double,-1,-1,0,-1,-1>
,            DerivedF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedVV=Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>
,            DerivedFF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedIF=Eigen::Matrix<int,-1,-1,0,-1,-1>
,            DerivedJ=Eigen::Matrix<int,-1,1,0,-1,1>
,            DerivedIM=Eigen::Matrix<int,-1,1,0,-1,1>
        ]
c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2784: 'void igl::unique(const
Eigen::PlainObjectBase<Derived> &,Eigen::PlainObjectBase<DerivedFA> &,Eigen::PlainObjectBase<DerivedVB>
&,Eigen::PlainObjectBase<DerivedFB> &)' : could not deduce template argument for 'const
Eigen::PlainObjectBase<Derived> &' from 'initializer-list'
        c:\dev\libigl\include\igl\unique.h(41) : see declaration of 'igl::unique'
c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2780: 'void igl::unique(const
std::vector<DerivedV,std::allocator<_Ty>> &,std::vector<DerivedV,std::allocator<_Ty>> &)' : expects 2 arguments - 4
provided
        c:\dev\libigl\include\igl\unique.h(33) : see declaration of 'igl::unique'
c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(900) : error C2784: 'void igl::unique(const
std::vector<DerivedV,std::allocator<_Ty>> &,std::vector<DerivedV,std::allocator<_Ty>>
&,std::vector<size_t,std::allocator<_Ty>> &,std::vector<_Ty,std::allocator<_Ty>> &)' : could not deduce template
argument for 'const std::vector<DerivedV,std::allocator<_Ty>> &' from 'initializer-list'
        with
        [
            _Ty=size_t
        ]
        c:\dev\libigl\include\igl\unique.h(27) : see declaration of 'igl::unique'
        std::map<__int64,std::vector<std::pair<__int64,CGAL::Object>,std::allocator<std::pair<__int64,CGAL::Object>>>,std::less<_Kty>,std::allocator<std::pair<const
        _Kty,std::vector<std::pair<__int64,CGAL::Object>,std::allocator<std::pair<__int64,CGAL::Object>>>>>>
        &,const
        std::map<std::pair<__int64,__int64>,std::vector<__int64,std::allocator<__int64>>,std::less<std::pair<__int64,__int64>>,std::allocator<std::pair<const
        std::pair<__int64,__int64>,std::vector<__int64,std::allocator<__int64>>>>>
        &,bool,Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &)' being compiled
        with
        [
            Kernel_=CGAL::Epick
,            _Ty=CGAL::Triangle_3<CGAL::Epick>
,            _Kty=__int64
        ]
c:\dev\libigl\include\igl\copyleft\cgal\order_facets_around_edge.cpp(203) : error C2248:
'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase' : cannot access protected member declared
in class 'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>'
        c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(478) : see declaration of
        'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase'
        c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(484) : see reference to function template
        instantiation 'void
        igl::copyleft::cgal::order_facets_around_edge<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>>(const
        Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,size_t,size_t,const
        std::vector<int,std::allocator<_Ty>> &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &,bool)'
        being compiled
        with
        [
            _Ty=int
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(129) : see reference to function template
        instantiation 'size_t
        igl::copyleft::cgal::extract_cells_single_component<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,size_t,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>>(const
        Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        std::vector<std::vector<size_t,std::allocator<_Ty>>,std::allocator<std::vector<_Ty,std::allocator<_Ty>>>>
        &,const Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &)' being compiled
        with
        [
            _Ty=size_t
        ]
        c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(478) : see declaration of
        'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase'
c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(902) : error C2899: typename cannot be used outside a
template declaration
        c:\dev\libigl\include\igl\unique.h(49) : see declaration of 'igl::unique'
        c:\dev\libigl\include\igl\unique.h(41) : see declaration of 'igl::unique'
        c:\dev\libigl\include\igl\unique.h(33) : see declaration of 'igl::unique'
        c:\dev\libigl\include\igl\unique.h(27) : see declaration of 'igl::unique'

Thanks in advance

alecjacobson commented 8 years ago

It's strange that the compiler can't figure this out.

Try replacing:

        igl::unique({F(fa,0), F(fa,1), F(fa,2), F(fb,0), F(fb,1), F(fb,2)},
            unique_vertices, tmp1, tmp2);

with

std::vector<typename DerivedF::Scalar> all_vertices;
all_vertices.push_back(F(fa,0));
all_vertices.push_back(F(fa,1));
all_vertices.push_back(F(fa,2));
all_vertices.push_back(F(fb,0));
all_vertices.push_back(F(fb,1));
all_vertices.push_back(F(fb,2));
igl::unique(all_vertices,unique_vertices, tmp1, tmp2);
oqilipo commented 8 years ago

Hello

Unfortunately two errors remain

error C2248

c:\dev\libigl\include\igl\copyleft\cgal\order_facets_around_edge.cpp(203) : error C2248:
'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase' : cannot access protected member declared
in class 'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>'
        c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(478) : see declaration of
        'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase'
        c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(484) : see reference to function template
        instantiation 'void
        igl::copyleft::cgal::order_facets_around_edge<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>>(const
        Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,size_t,size_t,const
        std::vector<int,std::allocator<_Ty>> &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &,bool)'
        being compiled
        with
        [
            _Ty=int
        ]
        c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(129) : see reference to function template
        instantiation 'size_t
        igl::copyleft::cgal::extract_cells_single_component<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,size_t,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>>(const
        Eigen::PlainObjectBase<Eigen::Matrix<ExactScalar,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>> &,const
        Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &,const
        std::vector<std::vector<size_t,std::allocator<_Ty>>,std::allocator<std::vector<_Ty,std::allocator<_Ty>>>>
        &,const Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>
        &,Eigen::PlainObjectBase<Eigen::Matrix<int,-1,-1,0,-1,-1>> &)' being compiled
        with
        [
            _Ty=size_t
        ]
        c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(478) : see declaration of
        'Eigen::PlainObjectBase<Eigen::Matrix<int,-1,1,0,-1,1>>::PlainObjectBase'

error C289

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(910) : error C2899: typename cannot be used outside a
template declaration

Thank you

alecjacobson commented 8 years ago

This first error doesn't make sense to me. You could try pasting it on the Eigen forum to get a better answer.

The second error is also strange. You could try omitting the word typename.

On Mon, Jun 6, 2016 at 5:18 AM, oqilipo notifications@github.com wrote:

Hello

Unfortunately two errors remain

error C2248

c:\dev\libigl\include\igl\copyleft\cgal\order_facets_around_edge.cpp(203) : error C2248: 'Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1>::PlainObjectBase' : cannot access protected member declared in class 'Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1>' c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(478) : see declaration of 'Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1>::PlainObjectBase' c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(484) : see reference to function template instantiation 'void igl::copyleft::cgal::order_facets_around_edgeEigen::Matrix<ExactScalar,-1,-1,0,-1,-1,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>>(const Eigen::PlainObjectBaseEigen::Matrix<ExactScalar,-1,-1,0,-1,-1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,size_t,size_t,const std::vector<int,std::allocator<_Ty>> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &,bool)' being compiled with [ _Ty=int ] c:\dev\libigl\include\igl\copyleft\cgal\extract_cells.cpp(129) : see reference to function template instantiation 'size_t igl::copyleft::cgal::extract_cells_single_componentEigen::Matrix<ExactScalar,-1,-1,0,-1,-1,Eigen::Matrix<int,-1,-1,0,-1,-1>,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>,size_t,Eigen::Matrix<int,-1,1,0,-1,1>,Eigen::Matrix<int,-1,-1,0,-1,-1>>(const Eigen::PlainObjectBaseEigen::Matrix<ExactScalar,-1,-1,0,-1,-1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &,const std::vectorstd::vector<size_t,std::allocator<_Ty>,std::allocatorstd::vector<_Ty,std::allocator<_Ty>>> &,const Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1> &,Eigen::PlainObjectBaseEigen::Matrix<int,-1,-1,0,-1,-1> &)' being compiled with [ _Ty=size_t ] c:\dev\eigen\eigen\src/Core/PlainObjectBase.h(478) : see declaration of 'Eigen::PlainObjectBaseEigen::Matrix<int,-1,1,0,-1,1>::PlainObjectBase'

error C289

c:\dev\libigl\include\igl\copyleft\cgal\SelfIntersectMesh.h(910) : error C2899: typename cannot be used outside a template declaration

Thank you

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/alecjacobson/gptoolbox/issues/12#issuecomment-223908003, or mute the thread https://github.com/notifications/unsubscribe/ACI0mbp633fb1NjPZqenNXlAaAgw-PATks5qI-X4gaJpZM4IKzN_ .

alecjacobson commented 8 years ago

This seems to be an issue with VS2013. libigl requires VS2015 (see https://github.com/libigl/libigl/issues/285)

oqilipo commented 8 years ago

Hi,

I've tried again today and it compiled the mex file.

I've used the last stable release of eigen instead of the git mirror.

But then I've tested the function and Matlab crashed.

Greets

alecjacobson commented 8 years ago

Hmmm. That will be hard to debug without the inputs. Can you include them?

On Wed, Jun 15, 2016 at 1:59 PM, oqilipo notifications@github.com wrote:

Hi,

I've tried again today and it compiled the mex file.

I used the last stable release of eigen instead of the git mirror.

But then I've tested the function and Matlab crashed.

Greets

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/alecjacobson/gptoolbox/issues/12#issuecomment-226268733, or mute the thread https://github.com/notifications/unsubscribe/ACI0mR-g3MBQ9ETicOxRgWX_wbW3P2c0ks5qMD2FgaJpZM4IKzN_ .