flann-lib / flann

Fast Library for Approximate Nearest Neighbors
http://people.cs.ubc.ca/~mariusm/flann
Other
2.21k stars 645 forks source link

VS2013: no matching operator delete found #213

Open paulsht opened 9 years ago

paulsht commented 9 years ago

Hi!

When compiling flann on Visual Studio 2013 64 bit project, I have a lot occurrences (10) of same warning:

1>....\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(342): warning C4291: 'void *operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception

Is there way to fix it?

image

paulsht commented 9 years ago

Full log:

1>------ Rebuild All started: Project: ZERO_CHECK, Configuration: Debug x64 ------ 1> Checking Build System 1> CMake does not need to re-run because D:/flann-1.8.4/build/CMakeFiles/generate.stamp is up-to-date. 1> CMake does not need to re-run because D:/flann-1.8.4/build/cmake/CMakeFiles/generate.stamp is up-to-date. 1> CMake does not need to re-run because D:/flann-1.8.4/build/src/CMakeFiles/generate.stamp is up-to-date. 1> CMake does not need to re-run because D:/flann-1.8.4/build/src/cpp/CMakeFiles/generate.stamp is up-to-date. 1> CMake does not need to re-run because D:/flann-1.8.4/build/src/matlab/CMakeFiles/generate.stamp is up-to-date. 1> CMake does not need to re-run because D:/flann-1.8.4/build/src/python/CMakeFiles/generate.stamp is up-to-date. 1> CMake does not need to re-run because D:/flann-1.8.4/build/examples/CMakeFiles/generate.stamp is up-to-date. 1> CMake does not need to re-run because D:/flann-1.8.4/build/test/CMakeFiles/generate.stamp is up-to-date. 1> CMake does not need to re-run because D:/flann-1.8.4/build/doc/CMakeFiles/generate.stamp is up-to-date. 2>------ Rebuild All started: Project: flann_s, Configuration: Debug x64 ------ 2> Building Custom Rule D:/flann-1.8.4/src/cpp/CMakeLists.txt 2> CMake does not need to re-run because D:\flann-1.8.4\build\src\cpp\CMakeFiles\generate.stamp is up-to-date. 2> flann.cpp 2>D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(342): warning C4291: 'void operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(332) : while compiling class template member function 'void flann::KMeansIndex::buildIndexImpl(void)' 2> with 2> [ 2> Distance=flann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann\flann.hpp(427) : see reference to class template instantiation 'flann::KMeansIndex' being compiled 2> with 2> [ 2> Distance=flann::L2 2> ] 2> ......\src\cpp\flann\flann.cpp(820) : see reference to function template instantiation 'int flann::hierarchicalClustering(const flann::Matrix &,flann::Matrix &,const flann::KMeansIndexParams &,Distance)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> ] 2> ......\src\cpp\flann\flann.cpp(835) : see reference to function template instantiation 'int __flann_compute_cluster_centersflann::L2(float ,int,int,int,float ,FLANNParameters ,Distance)' being compiled 2> with 2> [ 2> T=float 2> , Distance=flann::L2 2> ] 2> ......\src\cpp\flann\flann.cpp(863) : see reference to function template instantiation 'int _flann_compute_cluster_centers<float,float>(T ,int,int,int,R ,FLANNParameters )' being compiled 2> with 2> [ 2> T=float 2> , R=float 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2>D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(308): warning C4291: 'void operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(298) : while compiling class template member function 'void flann::HierarchicalClusteringIndexflann::DummyDistance::buildIndexImpl(void)' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/all_indices.h(89) : see reference to class template instantiation 'flann::HierarchicalClusteringIndexflann::DummyDistance' being compiled 2> D:\flann-1.8.4\src\cpp\flann/algorithms/all_indices.h(119) : see reference to class template instantiation 'flann::needs_kdtree_distanceflann::HierarchicalClusteringIndex' being compiled 2> D:\flann-1.8.4\src\cpp\flann/algorithms/all_indices.h(180) : see reference to class template instantiation 'flann::valid_combinationflann::HierarchicalClusteringIndex,Distance,ElementType' being compiled 2> with 2> [ 2> Distance=flann::L2 2> ] 2>D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(702): warning C4291: 'void operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(543) : while compiling class template member function 'void flann::KMeansIndex::computeClustering(flann::KMeansIndex::Node ,int ,int,int)' 2> with 2> [ 2> Distance=flann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(344) : see reference to function template instantiation 'void flann::KMeansIndex::computeClustering(flann::KMeansIndex::Node ,int ,int,int)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2>D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(516): warning C4291: 'void operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(472) : while compiling class template member function 'void flann::HierarchicalClusteringIndexflann::DummyDistance::computeClustering(flann::HierarchicalClusteringIndexflann::DummyDistance::Node ,int ,int)' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(309) : see reference to function template instantiation 'void flann::HierarchicalClusteringIndexflann::DummyDistance::computeClustering(flann::HierarchicalClusteringIndexflann::DummyDistance::Node ,int ,int)' being compiled 2>D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(469): warning C4291: 'void operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(468) : while compiling class template member function 'void flann::KMeansIndex::copyTree(flann::KMeansIndex::Node &,flann::KMeansIndex::Node const &)' 2> with 2> [ 2> Distance=flann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(157) : see reference to function template instantiation 'void flann::KMeansIndex::copyTree(flann::KMeansIndex::Node &,flann::KMeansIndex::Node const &)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2>D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(426): warning C4291: 'void operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(425) : while compiling class template member function 'void flann::HierarchicalClusteringIndexflann::DummyDistance::copyTree(flann::HierarchicalClusteringIndexflann::DummyDistance::Node &,flann::HierarchicalClusteringIndexflann::DummyDistance::Node const &)' 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(146) : see reference to function template instantiation 'void flann::HierarchicalClusteringIndexflann::DummyDistance::copyTree(flann::HierarchicalClusteringIndexflann::DummyDistance::Node &,flann::HierarchicalClusteringIndexflann::DummyDistance::Node const &)' being compiled 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2>D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(249): warning C4291: 'void operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::KMeansIndex::serialize(Archive &)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::KMeansIndex::serialize(Archive &)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(26) : see reference to function template instantiation 'void flann::serialization::access::serialize<Archive,T>(Archive &,T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , T=flann::KMeansIndexflann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(40) : see reference to function template instantiation 'void flann::serialization::serialize<OutputArchive,T>(Archive &,T &)' being compiled 2> with 2> [ 2> OutputArchive=flann::serialization::SaveArchive 2> , T=flann::KMeansIndexflann::L2 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(296) : see reference to function template instantiation 'void flann::serialization::Serializer::save(OutputArchive &,const T &)' being compiled 2> with 2> [ 2> T=flann::KMeansIndexflann::L2 2> , Archive=flann::serialization::SaveArchive 2> , OutputArchive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(296) : see reference to function template instantiation 'void flann::serialization::Serializer::save(OutputArchive &,const T &)' being compiled 2> with 2> [ 2> T=flann::KMeansIndexflann::L2 2> , Archive=flann::serialization::SaveArchive 2> , OutputArchive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(265) : see reference to function template instantiation 'Archive &flann::serialization::OutputArchive::operator &flann::KMeansIndex(const T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , Distance=flann::L2 2> , T=flann::KMeansIndexflann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(265) : see reference to function template instantiation 'Archive &flann::serialization::OutputArchive::operator &flann::KMeansIndex(const T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , Distance=flann::L2 2> , T=flann::KMeansIndexflann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(263) : while compiling class template member function 'void flann::KMeansIndex::saveIndex(FILE )' 2> with 2> [ 2> Distance=flann::L2 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2>D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(244): warning C4291: 'void operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::HierarchicalClusteringIndexflann::DummyDistance::serialize(Archive &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::HierarchicalClusteringIndexflann::DummyDistance::serialize(Archive &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(26) : see reference to function template instantiation 'void flann::serialization::access::serialize<Archive,T>(Archive &,T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , T=flann::HierarchicalClusteringIndexflann::DummyDistance 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(40) : see reference to function template instantiation 'void flann::serialization::serialize<OutputArchive,T>(Archive &,T &)' being compiled 2> with 2> [ 2> OutputArchive=flann::serialization::SaveArchive 2> , T=flann::HierarchicalClusteringIndexflann::DummyDistance 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(296) : see reference to function template instantiation 'void flann::serialization::Serializer::save(OutputArchive &,const T &)' being compiled 2> with 2> [ 2> T=flann::HierarchicalClusteringIndexflann::DummyDistance 2> , Archive=flann::serialization::SaveArchive 2> , OutputArchive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(296) : see reference to function template instantiation 'void flann::serialization::Serializer::save(OutputArchive &,const T &)' being compiled 2> with 2> [ 2> T=flann::HierarchicalClusteringIndexflann::DummyDistance 2> , Archive=flann::serialization::SaveArchive 2> , OutputArchive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(261) : see reference to function template instantiation 'Archive &flann::serialization::OutputArchive::operator &flann::HierarchicalClusteringIndex(const T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , T=flann::HierarchicalClusteringIndexflann::DummyDistance 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(261) : see reference to function template instantiation 'Archive &flann::serialization::OutputArchive::operator &flann::HierarchicalClusteringIndex(const T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , T=flann::HierarchicalClusteringIndexflann::DummyDistance 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(259) : while compiling class template member function 'void flann::HierarchicalClusteringIndexflann::DummyDistance::saveIndex(FILE )' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2>D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(441): warning C4291: 'void *operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::KMeansIndex::Node::serialize(Archive &)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::KMeansIndex::Node::serialize(Archive &)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(26) : see reference to function template instantiation 'void flann::serialization::access::serialize<Archive,T>(Archive &,T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , T=flann::KMeansIndexflann::L2::Node 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(40) : see reference to function template instantiation 'void flann::serialization::serialize<OutputArchive,T>(Archive &,T &)' being compiled 2> with 2> [ 2> OutputArchive=flann::serialization::SaveArchive 2> , T=flann::KMeansIndexflann::L2::Node 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(296) : see reference to function template instantiation 'void flann::serialization::Serializer::save(OutputArchive &,const T &)' being compiled 2> with 2> [ 2> T=flann::KMeansIndexflann::L2::Node 2> , Archive=flann::serialization::SaveArchive 2> , OutputArchive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(296) : see reference to function template instantiation 'void flann::serialization::Serializer::save(OutputArchive &,const T &)' being compiled 2> with 2> [ 2> T=flann::KMeansIndexflann::L2::Node 2> , Archive=flann::serialization::SaveArchive 2> , OutputArchive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(251) : see reference to function template instantiation 'Archive &flann::serialization::OutputArchive::operator &flann::KMeansIndex(const T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , Distance=flann::L2 2> , T=flann::KMeansIndexflann::L2::Node 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/kmeans_index.h(251) : see reference to function template instantiation 'Archive &flann::serialization::OutputArchive::operator &flann::KMeansIndex(const T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , Distance=flann::L2 2> , T=flann::KMeansIndexflann::L2::Node 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::KMeansIndex::serialize(Archive &)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::KMeansIndex::serialize(Archive &)' being compiled 2> with 2> [ 2> Distance=flann::L2 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2>D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(394): warning C4291: 'void *operator new(size_t,flann::PooledAllocator &)' : no matching operator delete found; memory will not be freed if initialization throws an exception 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::HierarchicalClusteringIndexflann::DummyDistance::Node::serialize(Archive &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::HierarchicalClusteringIndexflann::DummyDistance::Node::serialize(Archive &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(26) : see reference to function template instantiation 'void flann::serialization::access::serialize<Archive,T>(Archive &,T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , T=flann::HierarchicalClusteringIndexflann::DummyDistance::Node 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(40) : see reference to function template instantiation 'void flann::serialization::serialize<OutputArchive,T>(Archive &,T &)' being compiled 2> with 2> [ 2> OutputArchive=flann::serialization::SaveArchive 2> , T=flann::HierarchicalClusteringIndexflann::DummyDistance::Node 2> , Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(296) : see reference to function template instantiation 'void flann::serialization::Serializer::save(OutputArchive &,const T &)' being compiled 2> with 2> [ 2> T=flann::HierarchicalClusteringIndexflann::DummyDistance::Node 2> , Archive=flann::serialization::SaveArchive 2> , OutputArchive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(296) : see reference to function template instantiation 'void flann::serialization::Serializer::save(OutputArchive &,const T &)' being compiled 2> with 2> [ 2> T=flann::HierarchicalClusteringIndexflann::DummyDistance::Node 2> , Archive=flann::serialization::SaveArchive 2> , OutputArchive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(246) : see reference to function template instantiation 'Archive &flann::serialization::OutputArchive::operator &flann::HierarchicalClusteringIndex(const T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , T=flann::HierarchicalClusteringIndexflann::DummyDistance::Node 2> ] 2> D:\flann-1.8.4\src\cpp\flann/algorithms/hierarchical_clustering_index.h(246) : see reference to function template instantiation 'Archive &flann::serialization::OutputArchive::operator &flann::HierarchicalClusteringIndex(const T &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> , T=flann::HierarchicalClusteringIndexflann::DummyDistance::Node 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::HierarchicalClusteringIndexflann::DummyDistance::serialize(Archive &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/serialization.h(18) : see reference to function template instantiation 'void flann::HierarchicalClusteringIndexflann::DummyDistance::serialize(Archive &)' being compiled 2> with 2> [ 2> Archive=flann::serialization::SaveArchive 2> ] 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> D:\flann-1.8.4\src\cpp\flann/util/allocator.h(197) : see declaration of 'operator new' 2> flann_s.vcxproj -> D:\flann-1.8.4\lib\Debug\flann_s.lib ========== Rebuild All: 2 succeeded, 0 failed, 0 skipped ==========

paulsht commented 9 years ago

Any help here?

PuppySaturation commented 9 years ago

Is there a problem with the functionality? I'm not familiar with the code, however this seems like an overzealous compiler warning.

paulsht commented 9 years ago

It builds successfully. But problem may occur later in runtime when it is not expected. Project should compile without any warning.

I used latest flann-1.8.4 generated from supplied CMake files.

PuppySaturation commented 9 years ago

I do not agree. Different compilers will generate different warnings, often based on assumptions. While the warnings might be usefull for the developer to point out potential problems, it may just be that the developer coding style is incompatible with the compilers assumptions. It might also be, that the code in question is written as is by design and not by mistake. PS: It's a warning rather than an error for a reason.

paulsht commented 9 years ago

Interesting what contributors will say.

PuppySaturation commented 9 years ago

In 'flann / src / cpp / flann / util / allocator.h' the PooledAllocator overloads the new operator. Instead of reserving the data for each new element, a large block of data is reserved and than divided as needed. There is not individual delete. The whole block is deleted, when the PooledAllocator is destroyed.

Also, the object Node (beeing created with new) seems to use the default constructor, there is not reason it would throw an exeption.

The warning is a result of VS wanting a delete with every new operator, not understanding that there is no delete by desing.

I'm sorry about turning this into a discussion.

paulsht commented 9 years ago

Thank you for your detailed explanation. Maybe I will be able to fix it myself.

Seems flann authors don't plan to support Visual Studio.

PuppySaturation commented 9 years ago

A way to "fix" it, would be to add a dummy delete operator. However it is a pointless exercise.

You might be on track of a greater issue. Visual Studio seems to be adding some modifications to the code, that are beyond optimization. For a highly performance optimized library such as FLANN this might be a problem. If you really want to solve this issue, look at how to tell VS to simply compile the project as a standard C++ compiler.