Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Build errors: no matching function for calls pangolin::Widget and pangolin::Button #6

Closed
franksvision opened this Issue · 3 comments

2 participants

franksvision Steven Lovegrove
franksvision

Hello,

I was able to successfully compile prior to the widgets.cpp and widget.h update.
Below are the errors:

franksvision@gordan:~/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/svs_build$ cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
Build type not set (defaults to release)
-DCMAKE_BUILD_TYPE=Debug for debug
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
-- Found GLEW: /usr/lib/libGLEW.so
-- CUDA Found and Enabled
-- Found FREEGLUT: /usr/lib/libglut.so
-- Glut Found and Enabled
-- Looking for include files AVUTIL_HAVE_PIXDESC
-- Looking for include files AVUTIL_HAVE_PIXDESC - not found.
-- checking for module 'openni-dev'
-- package 'openni-dev' not found
-- OpenNI Found and Enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/svs_build
franksvision@gordan:~/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/svs_build$ make -j8
[ 4%] Building CXX object pangolin/CMakeFiles/pangolin.dir/widgets.cpp.o
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp: In constructor ‘pangolin::Button::Button(std::string, pangolin::_Var&)’:
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp:212: error: class ‘pangolin::Button’ does not have any field named ‘Widget’
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp:212: error: no matching function for call to ‘pangolin::Widget::Widget()’
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.h:55: note: candidates are: pangolin::Widget::Widget(std::string, pangolin::_Var&) [with T = bool]
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.h:54: note: pangolin::Widget::Widget(pangolin::Widget&)
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp: In constructor ‘pangolin::Checkbox::Checkbox(std::string, pangolin::_Var&)’:
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp:251: error: class ‘pangolin::Checkbox’ does not have any field named ‘Widget’
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp:251: error: no matching function for call to ‘pangolin::Widget::Widget()’
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.h:55: note: candidates are: pangolin::Widget::Widget(std::string, pangolin::_Var&) [with T = bool]
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.h:54: note: pangolin::Widget::Widget(pangolin::Widget&)
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp: In constructor ‘pangolin::Slider::Slider(std::string, pangolin::_Var&)’:
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp:294: error: class ‘pangolin::Slider’ does not have any field named ‘Widget’
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp:294: error: no matching function for call to ‘pangolin::Widget::Widget()’
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.h:55: note: candidates are: pangolin::Widget::Widget(std::string, pangolin::_Var&) [with T = double]
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.h:54: note: pangolin::Widget::Widget(pangolin::Widget&)
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp: In constructor ‘pangolin::TextInput::TextInput(std::string, pangolin::_Var&)’:
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp:429: error: class ‘pangolin::TextInput’ does not have any field named ‘Widget’
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.cpp:429: error: no matching function for call to ‘pangolin::Widget, std::allocator > >::Widget()’
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.h:55: note: candidates are: pangolin::Widget::Widget(std::string, pangolin::_Var&) [with T = std::basic_string, std::allocator >]
/home/franksvision/MY_SOFTWARE_DIRECTORY/ScaViSLAM/EXTERNAL/Pangolin/pangolin/widgets.h:54: note: pangolin::Widget, std::allocator > >::Widget(pangolin::Widget, std::allocator > >&)
make[2]: *** [pangolin/CMakeFiles/pangolin.dir/widgets.cpp.o] Error 1
make[1]: *** [pangolin/CMakeFiles/pangolin.dir/all] Error 2
make: *** [all] Error 2

Steven Lovegrove

Are you certain that your files widgets.h and widgets.cpp are in synch? Do you have any local modifications? I can't fathem why the errors are referring to the Widget default constructor when on all those lines the correct constructor is being used.

Steven Lovegrove stevenlovegrove referenced this issue from a commit
Steven Lovegrove Fix for issue #6
Signed-off-by: Steven Lovegrove <stevenlovegrove@gmail.com>
ea0c180
Steven Lovegrove

Okay, for earlier versions of GCC it is necessary to be explicit about the template parameters when calling the base classes constructor.

franksvision
Daniel Canelhas dcanelhas referenced this issue
Closed

SimpleDisplay #8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.