Open cburbridge opened 9 years ago
It's not needed for semantic map so you can delete it if you just want to use that. @jekekrantz will have to fix this or delete the package if it's not going to be used.
@jekekrantz ??
try this. I am using 1.7.1 and I modify these two files because of the forward declaration,we can only declare a pointer ::flann::SearchParams *paramk; instead of a instance ::flann::SearchParams paramk;
kdtree_flann.hpp: http://pastebin.com/j2aVdXQr kdtree_flann.h http://pastebin.com/38spwRxk
It works @tony5614 . Thanks a lot. (Cries tears of joy)
unbeliveble !!!!!!!!!!!!!!!!! IT WORKS!!!!!!!!!!!!!!!!!!!!!!
lol I can't believe this actually worked. The pcl files should be updated asap...
@jekekrantz any thoughts?
First I changed file name /usr/local/include/opencv2/flann/flann.hpp to /usr/local/include/opencv2/flann/cvflann.hpp, I can do this because it seems a useless head file and causes conflict. Second I changed [#include "flann/general.h"] in /usr/include/flann/flann.hpp to [#include "general.h"] to make sure it not going to find wrong head file again( /usr/local/include/opencv2/flann/general.h )
try this. I am using 1.7.1 and I modify these two files because of the forward declaration,we can only declare a pointer *::flann::SearchParams paramk; instead of a instance ::flann::SearchParams paramk;**
kdtree_flann.hpp: http://pastebin.com/j2aVdXQr kdtree_flann.h http://pastebin.com/38spwRxk
It does work!!!
try this. I am using 1.7.1 and I modify these two files because of the forward declaration,we can only declare a pointer *::flann::SearchParams paramk; instead of a instance ::flann::SearchParams paramk;**
kdtree_flann.hpp: http://pastebin.com/j2aVdXQr kdtree_flann.h http://pastebin.com/38spwRxk
Thank, magical!!!
try this. I am using 1.7.1 and I modify these two files because of the forward declaration,we can only declare a pointer *::flann::SearchParams paramk; instead of a instance ::flann::SearchParams paramk;**
kdtree_flann.hpp: http://pastebin.com/j2aVdXQr kdtree_flann.h http://pastebin.com/38spwRxk
This can not work in some cases. There is another choice:
in/usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h
, add the following :
// Forward declarations
namespace flann
{
....
}
//=========new add starts!!=================
namespace myflann
{
typedef enum {
FLANN_False = 0,
FLANN_True = 1,
FLANN_Undefined
} tri_type;
struct SearchParams
{
SearchParams(int checks_ = 32, float eps_ = 0.0, bool sorted_ = true ) :
checks(checks_), eps(eps_), sorted(sorted_)
{
max_neighbors = -1;
use_heap = FLANN_Undefined;
cores = 1;
matrices_in_gpu_ram = false;
}
// how many leafs to visit when searching for neighbours (-1 for unlimited)
int checks;
// search for eps-approximate neighbours (default: 0)
float eps;
// only for radius search, require neighbours sorted by distance (default: true)
bool sorted;
// maximum number of neighbors radius search should return (-1 for unlimited)
int max_neighbors;
// use a heap to manage the result set (default: FLANN_Undefined)
tri_type use_heap;
// how many cores to assign to the search (used only if compiled with OpenMP capable compiler) (0 for auto)
int cores;
// for GPU search indicates if matrices are already in GPU ram
bool matrices_in_gpu_ram;
};
}
//=========new add ends !!=================
namespace pcl
{
....
}
and modify ::flann::SearchParams param_k_;
as ::myflann::SearchParams param_k_;
, ::flann::SearchParams param_radius_;
as ::myflann::SearchParams param_radius_;
This issue could be solved!!
ekz-public lib does not compile on indigo:
I hav blacklisted it with
touch CATKIN_IGNORE
, and all other packages compile ok. @RaresAmbrus is this needed by the semantic mapping code?