catkin_simple icon indicating copy to clipboard operation
catkin_simple copied to clipboard

linking a non-catkin package

Open HyHuang1995 opened this issue 3 years ago • 3 comments

Hello,

I have an issue about linking a non-catkin package pangolin using catkin_simple. Since pangolin provides package.xml, intuitively I think it should work with catkin_simple. My catkin layout is set as merged. How I include pangolin in my package.xml is like:

<build_depend>pangolin</build_depend>

And the compiling error with catkin build my_pkg -j10 is like:

CMakeFiles/xodom_node.dir/node/xodom.cpp.o: In function `pangolin::GlBufferData::~GlBufferData()':
xodom.cpp:(.text._ZN8pangolin12GlBufferDataD2Ev[_ZN8pangolin12GlBufferDataD5Ev]+0x18): undefined reference to `__glewDeleteBuffers'
CMakeFiles/xodom_node.dir/node/xodom.cpp.o: In function `pangolin::GlBufferData::~GlBufferData()':
xodom.cpp:(.text._ZN8pangolin12GlBufferDataD0Ev[_ZN8pangolin12GlBufferDataD5Ev]+0x1c): undefined reference to `__glewDeleteBuffers'
CMakeFiles/xodom_node.dir/node/xodom.cpp.o: In function `pangolin::GlTexture::Reinitialise(int, int, int, bool, int, unsigned int, unsigned int, void*)':

It seems the headers are properly found, yet the libpangolin.so is not able to be linked.

I had made it with another non-catkin package sophus, yet it can be used in a header-only manner. I guess there might be some subtlties.

I know it would work if I write a catkin wrapper for it, but I just wonder is there any generic way to include a non-catkin package?

Many thanks!

HyHuang1995 avatar Sep 18 '21 08:09 HyHuang1995

And did you solve it?

Gian-Alessio avatar Oct 28 '21 19:10 Gian-Alessio

@Gian-Alessio No. It seems not solvable.

HyHuang1995 avatar Oct 29 '21 02:10 HyHuang1995

@HyHuang1995 I solved it for my case! I had an external library consisting of headers and a static library foo.a And it seems to work now

Gian-Alessio avatar Oct 29 '21 04:10 Gian-Alessio