Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linking a non-catkin package #39

Open
HyHuang1995 opened this issue Sep 18, 2021 · 3 comments
Open

linking a non-catkin package #39

HyHuang1995 opened this issue Sep 18, 2021 · 3 comments

Comments

@HyHuang1995
Copy link

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!

@Gian-Alessio
Copy link

And did you solve it?

@HyHuang1995
Copy link
Author

@Gian-Alessio No. It seems not solvable.

@Gian-Alessio
Copy link

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants