stephanfr/Cork

No corklib.lib file

Closed this issue · 9 comments

I am trying to compile the RegressionTest example with MSVC2015 under Win7 x64 and the linker complains about not being able to find Corklib.lib, and there is actually no such file in the library.

What am I doing wrong here? Any help?

1>------ Rebuild All started: Project: CorkLib, Configuration: Rel-Dbl x64 ------
1> aabvh.cpp
1>c:\cork_sf\corklib\Accel\aabvh.h(273): warning C4091: 'typedef ': ignored on left of 'Cork::AABVH::IntersectionType' when no variable is declared
1> ifs.cpp
1> off.cpp
1> empty3d.cpp
1> quantization.cpp
1> Mesh.cpp
1>c:\cork_sf\corklib\mesh..\Mesh\IntersectionProblem.h(105): warning C4091: 'typedef ': ignored on left of 'Cork::Intersection::IntersectionProblemIfx::IntersectionProblemResultCodes' when no variable is declared
1>c:\cork_sf\corklib\mesh..\Util\CachingFactory.h(57): warning C4091: 'typedef ': ignored on left of 'CachingFactory::CacheOrDestroy' when no variable is declared
1> c:\cork_sf\corklib\mesh..\Util\CachingFactory.h(76): note: see reference to class template instantiation 'CachingFactory' being compiled
1>c:\cork_sf\corklib\mesh..\Util\CachingFactory.h(57): warning C4091: 'typedef ': ignored on left of 'CachingFactoryCork::TopoCacheWorkspace::CacheOrDestroy' when no variable is declared
1> Mesh\Mesh.cpp(52): note: see reference to class template instantiation 'CachingFactoryCork::TopoCacheWorkspace' being compiled
1>Mesh\Mesh.cpp(143): warning C4091: 'typedef ': ignored on left of 'Cork::Mesh::SetupBooleanProblemResultCodes' when no variable is declared
1> Intersection.cpp
1>c:\cork_sf\corklib\mesh..\Accel\aabvh.h(273): warning C4091: 'typedef ': ignored on left of 'Cork::AABVH::IntersectionType' when no variable is declared
1>c:\cork_sf\corklib\mesh..\Mesh\IntersectionProblem.h(105): warning C4091: 'typedef ': ignored on left of 'Cork::Intersection::IntersectionProblemIfx::IntersectionProblemResultCodes' when no variable is declared
1>c:\cork_sf\corklib\mesh..\Util\CachingFactory.h(57): warning C4091: 'typedef ': ignored on left of 'CachingFactory::CacheOrDestroy' when no variable is declared
1> c:\cork_sf\corklib\mesh..\Util\CachingFactory.h(76): note: see reference to class template instantiation 'CachingFactory' being compiled
1>Mesh\Intersection.cpp(1379): warning C4091: 'typedef ': ignored on left of 'Cork::Intersection::TriangleProblem::SubdivideResultCodes' when no variable is declared
1>Mesh\Intersection.cpp(1691): error C2694: 'Cork::Intersection::IntersectionProblemWorkspace::~IntersectionProblemWorkspace(void) noexcept(false)': overriding virtual function has less restrictive exception specification than base class virtual member function 'Cork::Intersection::IntersectionProblemWorkspaceBase::~IntersectionProblemWorkspaceBase(void)'
1> Mesh\Intersection.cpp(1691): note: see declaration of 'Cork::Intersection::IntersectionProblemWorkspace::~IntersectionProblemWorkspace'
1> Mesh\Intersection.cpp(642): note: see declaration of 'Cork::Intersection::IntersectionProblemWorkspaceBase::~IntersectionProblemWorkspaceBase'
1>c:\cork_sf\corklib\mesh..\Util\CachingFactory.h(57): warning C4091: 'typedef ': ignored on left of 'CachingFactoryCork::Intersection::IntersectionProblemWorkspace::CacheOrDestroy' when no variable is declared
1> Mesh\Intersection.cpp(1784): note: see reference to class template instantiation 'CachingFactoryCork::Intersection::IntersectionProblemWorkspace' being compiled
1> TopoCache.cpp
1> TriangleMesh.cpp
1>c:\cork_sf\corklib.\Statistics\StatsImpl.h(61): warning C4091: 'typedef ': ignored on left of 'Cork::Statistics::GeometricStatisticsEngine::PropertiesToCompute' when no variable is declared
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xtree(2047): error C3848: expression having type 'const Cork::Math::Vertex3DMapCompare' would lose some const-volatile qualifiers in order to call 'bool Cork::Math::Vertex3DMapCompare::operator ()(const Cork::Math::Vertex3D &,const Cork::Math::Vertex3D &)'
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xtree(2046): note: while compiling class template member function 'bool std::_Tree<std::_Tmap_traits<_Kty,std::_Ty,_Pr,_Alloc,false>>::_Compare(const Cork::Math::Vector3DTemplate &,const Cork::Math::Vector3DTemplate &) const'
1> with
1> [
1> _Kty=Cork::Math::Vertex3D,
1> _Ty=Cork::std::IndexType,
1> _Pr=Cork::Math::Vertex3DMapCompare,
1> _Alloc=std::allocator<std::pair<const Cork::Math::Vertex3D,Cork::std::IndexType>>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xtree(2064): note: see reference to function template instantiation 'bool std::_Tree<std::_Tmap_traits<_Kty,std::_Ty,_Pr,_Alloc,false>>::_Compare(const Cork::Math::Vector3DTemplate &,const Cork::Math::Vector3DTemplate &) const' being compiled
1> with
1> [
1> _Kty=Cork::Math::Vertex3D,
1> _Ty=Cork::std::IndexType,
1> _Pr=Cork::Math::Vertex3DMapCompare,
1> _Alloc=std::allocator<std::pair<const Cork::Math::Vertex3D,Cork::std::IndexType>>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\map(73): note: see reference to class template instantiation 'std::_Tree<std::_Tmap_traits<_Kty,std::_Ty,_Pr,_Alloc,false>>' being compiled
1> with
1> [
1> _Kty=Cork::Math::Vertex3D,
1> _Ty=Cork::std::IndexType,
1> _Pr=Cork::Math::Vertex3DMapCompare,
1> _Alloc=std::allocator<std::pair<const Cork::Math::Vertex3D,Cork::std::IndexType>>
1> ]
1> TriangleMesh.cpp(284): note: see reference to class template instantiation 'std::map<Cork::Math::Vertex3D,Cork::std::IndexType,Cork::Math::Vertex3DMapCompare,std::allocator<std::pair<const _Kty,std::_Ty>>>' being compiled
1> with
1> [
1> _Kty=Cork::Math::Vertex3D,
1> _Ty=Cork::std::IndexType
1> ]
1> log.cpp
2>------ Rebuild All started: Project: RegressionTest, Configuration: Rel-Dbl x64 ------
2> RegressionTest.cpp
2>LINK : fatal error LNK1181: cannot open input file 'CorkLib.lib'
========== Rebuild All: 0 succeeded, 2 failed, 0 skipped ==========

The project has been updated. The compile issue that prevented CorkLib from building was related to new conformance settings in Visual Studio 2017. There were a handful of other issues as well.

I used precompiled versions of Boost for Windows - that is easier than tweaking the build settings to insure that naming conventions, etc are correct.

Hi Stephan,
Thanks a lot for the effort.
I was crazy busy with other things past few days, I will try it and let you know.

Dear Stephan

Since I am using a ton of other libraries, I have to use MSVC2015. So I can not test your new edits. Is it possible to provide a version which works with 2015?

Thanks.

Dear Stephan

I did try it and It complains about:

1>------ Rebuild All started: Project: CorkLib, Configuration: Rel-Dbl x64 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v141 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
2>------ Rebuild All started: Project: RegressionTest, Configuration: Rel-Dbl x64 ------
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v141 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
========== Rebuild All: 0 succeeded, 2 failed, 0 skipped ==========

Any help?