Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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

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

@stevenlovegrove

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.

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

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

@franksvision
@dcanelhas 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.