Closed tabbabb closed 1 month ago
It seems like a c++11 issue. If you search online, there should be a lot of solutions. Check Stackoverflow maybe?
I found the solution to this issue.
The error occurs because the arguments passed to the Renderer
class constructor do not match the required arguments. Specifically, the Renderer
constructor expects three arguments, but four are being provided in the call.
To resolve this, you can update line 126 in app/GraphSLAM/main.cc
as follows:
Before:
Renderer(int width, int height, const std::string &path){
After:
Renderer(int width, int height, const std::string &path, bool align){
This should resolve the mismatch in arguments.
I encountered a compilation error when trying to build the GraphSLAM component of the SceneGraphFusion project. The error indicates a mismatch in the arguments passed to the Renderer constructor. Below are the details:
Environment: OS: Ubuntu 20.04 Compiler: GCC 11 Project: SceneGraphFusion File Path: SceneGraphFusion/app/GraphSLAM/main.cc OpenCV Version: 4.x
Issue: In the file
SceneGraphFusion/app/GraphSLAM/main.cc
, at line 167, an attempt is made to call the Renderer constructor, resulting in the following error:/usr/include/c++/11/bits/unique_ptr.h:962:30: error: no matching function for call to ‘Renderer::Renderer(short unsigned int&, short unsigned int&, std::__cxx11::basic_string<char>&, bool)’
but it was found that the Renderer constructor only accepts 3 parameters:
Renderer(int width, int height, const std::string &path)
However, in main.cc, the constructor is invoked with 4 parameters:
std::make_unique<Renderer>(width, height, path, some_boolean)
Compilation Output:
How should I do to complete the compilation?