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

error: ‘get’ is not a member of ‘pangolin’ #725

Closed
wamiq-reyaz opened this issue Jan 12, 2022 · 3 comments
Closed

error: ‘get’ is not a member of ‘pangolin’ #725

wamiq-reyaz opened this issue Jan 12, 2022 · 3 comments

Comments

@wamiq-reyaz
Copy link

I was trying to get DeepSDF setup and that has pangolin as a dependency. I have some very weird errors that crop up when trying to run this file.

I changed one thing in gplatfrom.h on line 82 where instead of gl.h I import glew.h

/home/parawr/Projects/scenegraphs/external/DeepSDF/src/PreprocessMesh.cpp:37:21: error: ‘get’ is not a member of ‘pangolin’
pangolin::get<pangolin::Image<uint32_t>>(it_vert_indices->second);
^~~
/home/parawr/Projects/scenegraphs/external/DeepSDF/src/PreprocessMesh.cpp:37:21: note: suggested alternative: ‘Widget’
pangolin::get<pangolin::Image<uint32_t>>(it_vert_indices->second);
^~~
Widget
/home/parawr/Projects/scenegraphs/external/DeepSDF/src/PreprocessMesh.cpp:37:49: error: expected primary-expression before ‘>’ token
pangolin::get<pangolin::Image<uint32_t>>(it_vert_indices->second);

Any idea what could be causing this?

@stevenlovegrove
Copy link
Owner

Was it working before your change? Pangolin will already include glew.h so I'm not sure why your change was needed?

pangolin::get was just an alias for C++14 get, or a compat library if that wasn't available. That isn't used any more on the master branch I don't think. If you changed the include order, it probably just wasn't including the compatibility header.

@SMY19999
Copy link

SMY19999 commented Nov 8, 2022

DeepSDF is published in 2019, so I install the version around 2019——v0.6, it works! Hope to help you.

@wetoo-cando
Copy link

wetoo-cando commented Aug 25, 2023

I replaced pangolin::get calls with std::get calls based on @stevenlovegrove's comment above.

Additionally, I also had to change prog.SetUniform("ttt", 1.0, 0, 0, 1); calls to prog.SetUniform("ttt", 1.0, 0.0, 0.0, 1.0); (the last three arguments has to be changed to floats) to satisfy the new GLSL API.

Other changes I need to make were to the CMakeLists.txt file:

  • Added set(CMAKE_CXX_STANDARD 17) <-- same as the one in Pangolin master CMakeLists.txt
  • Had to extend the list of target_link_libraries to target_link_libraries(PreprocessMesh PRIVATE CLI11::CLI11 pango_core pango_display pango_geometry pango_glgeometry GLEW cnpy Eigen3::Eigen nanoflann::nanoflann) based on the hint from #81

With the above changes, I was able to build DeepSDF successfully with the Pangolin master branch.

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

4 participants