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

Calculate surface area of object using 3D Depth reconstruaction. #11571

Closed
TheNemo05 opened this issue Mar 16, 2023 · 27 comments
Closed

Calculate surface area of object using 3D Depth reconstruaction. #11571

TheNemo05 opened this issue Mar 16, 2023 · 27 comments

Comments

@TheNemo05
Copy link

Required Info
Camera Model D455
Firmware Version 05.14.00.00
Operating System & Version Ubuntu 20
Kernel Version (Linux Only) NA
Platform PC/Raspberry Pi
SDK Version 2.53.1
Language Python
Segment Seabot

Issue Description

Hello again,
I need some help regarding a project i m trying to accomplish. I need to calculate Surface area of a undefined object using its depth parameters & 3D reconstruction. I ve recorded .bag file for the object.
My main objective is to calculate surface area of the object. Previously i ve tried Open3D which has predefined realsense packages but due to unavailability of information was not able to construct any reconstruction model.
As mentioned earlier I have recorded sequence of bag file. What can be the method I can follow for accomplishment of this project.

@MartyG-RealSense
Copy link
Collaborator

Hi @TheNemo05 Would it be practical for you to instead export a ply pointcloud file instead of a bag and then import it into the free open source RealSense-compatible MeshLab tool to perform 3D reconstruction and surface area estimation on it, as described at #9823 (comment)

@TheNemo05
Copy link
Author

Also if I use meshlab i ll have to join multiple ply files together. in that case inaccuracy will be more in surface area calculation. surely i ll be using meshlab if i was able to somehow capture the 3D view of object.

I need a solution that has depth 3D reconstruction. with all the depth parameters & hopefully that can convert .bag file into 3D reconstruction.

@TheNemo05
Copy link
Author

Also i ve finally decided to give mesh lab a try, but to build a accurate 3D model i ll have to eliminate the same co-ordinates or single (x,y,z) should be repeated only once else there might be overlapping of pointclouds. Do you have any method to resolve it.

@TheNemo05
Copy link
Author

https://www.youtube.com/watch?v=pLCVCH7ypI4
This video from Open3D uses some webview with realsense. does D455 have access to this webview.

@MartyG-RealSense
Copy link
Collaborator

You can manually clean up overlapping points in MeshLab.

https://en.wikiversity.org/wiki/MakerBot/Cleaning_up_cloud_point_mesh_in_mesh_lab_for_3D_printing


In regard to the Open3D video, most RealSense 400 Series cameras with an RGB sensor (except D405) can also be used as an ordinary video webcam and so a D455 should work with programs / applications that use RGB video for their analysis.


The requirement to use a single bag file instead of multiple ply files is likely to rule out most possible methods for achieving your reconstruction, unfortunately.

However, if you are able to use C++ instead of Python, you could try using the RealSense SDK's rs-kinfu example program, which can use a single camera that is moved around the object to create a 360 degree pointcloud by "fusing" frames together. The resulting large pointcloud can then be exported as a .ply file.

Whilst rs-kinfu uses a live camera by default, you could conceivably edit the script to use a recorded bag file as the camera data-source instead. So you could record a bag where you move the camera all around the object, and then load that file into rs-kinfu and have it turn the bag and its 360 degree recording of the object into a .ply file.

https://github.com/IntelRealSense/librealsense/tree/master/wrappers/opencv/kinfu

@TheNemo05
Copy link
Author

Alright, considering the fact i ve recorded .bag file, is it possible to convert every frame in a bag file frame into .ply file using some python code or sdk method.

If yes, I ll have 1000's of pointcloud files how do I frame it in a single file using the co-ordinate information.

@TheNemo05
Copy link
Author

TheNemo05 commented Mar 20, 2023

Not good at understanding C++, but seen some tutorials with regards to realsense rs-kinfu. I hope to get help with some predefined C++ codes if possible.

@MartyG-RealSense
Copy link
Collaborator

You could convert every frame to a ply file using the RealSense SDK's pre-made rs-convert C++ tool. If the SDK tools and examples were installed when the SDK was installed then an executable of rs-convert should be in the usr/local/bin folder of your computer.

https://github.com/IntelRealSense/librealsense/tree/master/tools/convert

You could merge all of the ply files together using the command-line interface of the free open source tool CloudCompare, as described at #10640 (comment) and the link below.

http://www.danielgm.net/cc/forum/viewtopic.php?t=2543

@TheNemo05
Copy link
Author

Hello there, i converted the .bag into ply file using the rs-convert tool. But i did not received any .ply file. I either received .raw or .txt files; is there an issue in conversion.

@MartyG-RealSense
Copy link
Collaborator

.ply file conversion with rs-convert unfortunately does not work for some RealSense users whilst the other modes do work. An example of this problem is discussed at #3214

Can you confirm that you used the command -l please (it is a small-case L and not an i).

@TheNemo05
Copy link
Author

image
for your reference i am using this command.

@TheNemo05
Copy link
Author

Also can you please share c++ code for rs-kinfu

@TheNemo05
Copy link
Author

i was able to convert .bag file into multiple .ply files using Windows. I need some converter to convert .ply files to .pcd files for its usage in cloud compare.

@MartyG-RealSense
Copy link
Collaborator

The rs-kinfu C++ code is here:

https://github.com/IntelRealSense/librealsense/blob/master/wrappers/opencv/kinfu/rs-kinfu.cpp

It's excellent to hear that you were successful with the .ply conversion in rs-convert.

A person at the link below installed Open3D to convert .ply to a .pcd that was readable in CloudCompare.

https://stackoverflow.com/questions/51350493/convertion-of-ply-format-to-pcd-format/62488893#62488893

There is also an online converter.

https://imagetostl.com/convert/file/ply/to/pcd

@TheNemo05
Copy link
Author

Thank you for the converters, but these converters are able to convert only 1 .ply file at a time.

As you know realsense does record multiple frames & we do obtain huge resource of .ply files its certainly impossible to convert every file one by one. It would be intensely time consuming any other method would you suggest that can conert multiple .ply files at a time.

@MartyG-RealSense
Copy link
Collaborator

I was not able to find a tool that could convert multiple ply files to pcd. I am not certain why a conversion to pcd is necessary though as CloudCompare permits the loading of multiple ply files simultaneously with a command line instruction, and then merge them after they have been loaded.

https://www.danielgm.net/cc/forum/viewtopic.php?p=9987&sid=a6a56715a3c2aefdc7e253899ccaf160#p9987

Usually, thousands of ply files would not be combined into a single one. It is more usual to choose between six and 10 ply to combine.

@TheNemo05
Copy link
Author

image
i ve been getting this error even though i ve checked imgproc.hpp is present in opencv2 folder. Can you please help.

@MartyG-RealSense
Copy link
Collaborator

Are you using OpenCV 4, as the rs-kinfu documentation states that this OpenCV version is required.

https://github.com/IntelRealSense/librealsense/tree/master/wrappers/opencv/kinfu#installation

@TheNemo05
Copy link
Author

surely i am using the version 4 of opencv
image

@MartyG-RealSense
Copy link
Collaborator

What method did you use to compile rs-kinfu please? There are not instructions for installing it but I assume that it would involve building it with CMake Lists.txt in order to provide the linkages to librealsense.

image

@TheNemo05
Copy link
Author

I used cmake CMakeList.txt from terminal.

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Mar 27, 2023

The rs-kinfu instructions suggest to me that the correct approach is not to use the CMakeList.txt file in the terminal but instead to build the librealsense SDK from source code with CMake and include the following commands:

-DBUILD_CV_EXAMPLES=True
-DBUILD_CV_KINFU_EXAMPLE=True
-DBUILD_GRAPHICAL_EXAMPLES=True

https://github.com/IntelRealSense/librealsense/tree/master/wrappers/opencv/kinfu#installation

For example:

cmake ../ -DFORCE_RSUSB_BACKEND=true -DCMAKE_BUILD_TYPE=release -DBUILD_CV_EXAMPLES=True -DBUILD_CV_KINFU_EXAMPLE=True -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true

Once librealsense has been built, check whether a compiled and executable version of rs-kinfu is in Ubuntu's usr/local/bin folder.

@TheNemo05
Copy link
Author

TheNemo05 commented Mar 28, 2023

I ve build using the following CMake, but the program still has huge number of errors.

prasad@prasad:~/librealsense/wrappers/opencv/kinfu$ g++ rs-kinfu.cpp -I/usr/include/opencv4/opencv2/..
/usr/bin/ld: /tmp/ccL08eaw.o: in function set_viewport(rect const&)': rs-kinfu.cpp:(.text+0xdbe): undefined reference to glViewport'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xdc3): undefined reference to glLoadIdentity' /usr/bin/ld: rs-kinfu.cpp:(.text+0xdcd): undefined reference to glMatrixMode'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xe14): undefined reference to glOrtho' /usr/bin/ld: /tmp/ccL08eaw.o: in function draw_pointcloud(float, float, glfw_state&, rs2::points&)':
rs-kinfu.cpp:(.text+0xe61): undefined reference to glLoadIdentity' /usr/bin/ld: rs-kinfu.cpp:(.text+0xe6b): undefined reference to glPushAttrib'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xe90): undefined reference to glClearColor' /usr/bin/ld: rs-kinfu.cpp:(.text+0xe9a): undefined reference to glClear'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xea4): undefined reference to glMatrixMode' /usr/bin/ld: rs-kinfu.cpp:(.text+0xea9): undefined reference to glPushMatrix'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xee4): undefined reference to gluPerspective' /usr/bin/ld: rs-kinfu.cpp:(.text+0xeee): undefined reference to glMatrixMode'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xef3): undefined reference to glPushMatrix' /usr/bin/ld: rs-kinfu.cpp:(.text+0xf3a): undefined reference to gluLookAt'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xf6f): undefined reference to glTranslatef' /usr/bin/ld: rs-kinfu.cpp:(.text+0xf95): undefined reference to glRotated'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xfba): undefined reference to glRotated' /usr/bin/ld: rs-kinfu.cpp:(.text+0xfcf): undefined reference to glTranslatef'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xfe5): undefined reference to glPointSize' /usr/bin/ld: rs-kinfu.cpp:(.text+0xfef): undefined reference to glEnable'
/usr/bin/ld: rs-kinfu.cpp:(.text+0xff9): undefined reference to glEnable' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1015): undefined reference to glBindTexture'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x105f): undefined reference to glTexParameterfv' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1073): undefined reference to glTexParameteri'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1087): undefined reference to glTexParameteri' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1091): undefined reference to glBegin'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1139): undefined reference to glVertex3fv' /usr/bin/ld: rs-kinfu.cpp:(.text+0x115d): undefined reference to glTexCoord2fv'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x116b): undefined reference to glEnd' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1170): undefined reference to glPopMatrix'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x117a): undefined reference to glMatrixMode' /usr/bin/ld: rs-kinfu.cpp:(.text+0x117f): undefined reference to glPopMatrix'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1184): undefined reference to glPopAttrib' /usr/bin/ld: /tmp/ccL08eaw.o: in function draw_pointcloud_wrt_world(float, float, glfw_state&, rs2::points&, rs2_pose&, float*, std::vector<rs2_vector, std::allocator<rs2_vector> >&)':
rs-kinfu.cpp:(.text+0x1564): undefined reference to glLoadIdentity' /usr/bin/ld: rs-kinfu.cpp:(.text+0x156e): undefined reference to glPushAttrib'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1593): undefined reference to glClearColor' /usr/bin/ld: rs-kinfu.cpp:(.text+0x159d): undefined reference to glClear'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x15a7): undefined reference to glMatrixMode' /usr/bin/ld: rs-kinfu.cpp:(.text+0x15ac): undefined reference to glPushMatrix'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x15ed): undefined reference to gluPerspective' /usr/bin/ld: rs-kinfu.cpp:(.text+0x15f7): undefined reference to glMatrixMode'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x15fc): undefined reference to glPushMatrix' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1630): undefined reference to glTranslatef'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1659): undefined reference to glRotated' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1681): undefined reference to glRotated'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1696): undefined reference to glTranslatef' /usr/bin/ld: rs-kinfu.cpp:(.text+0x16a0): undefined reference to glEnable'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x16ad): undefined reference to glLineWidth' /usr/bin/ld: rs-kinfu.cpp:(.text+0x16b7): undefined reference to glBegin'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1736): undefined reference to glColor3f' /usr/bin/ld: rs-kinfu.cpp:(.text+0x175d): undefined reference to glVertex3f'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1773): undefined reference to glEnd' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1780): undefined reference to glLineWidth'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x179d): undefined reference to glColor3f' /usr/bin/ld: rs-kinfu.cpp:(.text+0x17f5): undefined reference to glMultMatrixf'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1804): undefined reference to glMultMatrixf' /usr/bin/ld: rs-kinfu.cpp:(.text+0x181d): undefined reference to glPointSize'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1827): undefined reference to glEnable' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1831): undefined reference to glEnable'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1850): undefined reference to glBindTexture' /usr/bin/ld: rs-kinfu.cpp:(.text+0x189a): undefined reference to glTexParameterfv'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x18ae): undefined reference to glTexParameteri' /usr/bin/ld: rs-kinfu.cpp:(.text+0x18c2): undefined reference to glTexParameteri'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x18cc): undefined reference to glBegin' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1992): undefined reference to glVertex3fv'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x19b9): undefined reference to glTexCoord2fv' /usr/bin/ld: rs-kinfu.cpp:(.text+0x19ca): undefined reference to glEnd'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x19cf): undefined reference to glPopMatrix' /usr/bin/ld: rs-kinfu.cpp:(.text+0x19d9): undefined reference to glMatrixMode'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x19de): undefined reference to glPopMatrix' /usr/bin/ld: rs-kinfu.cpp:(.text+0x19e3): undefined reference to glPopAttrib'
/usr/bin/ld: /tmp/ccL08eaw.o: in function get_screen_resolution(unsigned int&, unsigned int&)': rs-kinfu.cpp:(.text+0x1d44): undefined reference to glfwInit'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1d49): undefined reference to glfwGetPrimaryMonitor' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1d51): undefined reference to glfwGetVideoMode'
/usr/bin/ld: /tmp/ccL08eaw.o: in function colorize_pointcloud(cv::Mat, cv::Mat&)': rs-kinfu.cpp:(.text+0x1e1b): undefined reference to cv::split(cv::_InputArray const&, cv::_OutputArray const&)'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x1f04): undefined reference to cv::Mat::convertTo(cv::_OutputArray const&, int, double, double) const' /usr/bin/ld: rs-kinfu.cpp:(.text+0x1f54): undefined reference to cv::applyColorMap(cv::_InputArray const&, cv::_OutputArray const&, int)'
/usr/bin/ld: /tmp/ccL08eaw.o: in function draw_kinfu_pointcloud(glfw_state&, cv::Mat, cv::Mat)': rs-kinfu.cpp:(.text+0x20b3): undefined reference to glLoadIdentity'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x20bd): undefined reference to glPushAttrib' /usr/bin/ld: rs-kinfu.cpp:(.text+0x20e2): undefined reference to glClearColor'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x20ec): undefined reference to glClear' /usr/bin/ld: rs-kinfu.cpp:(.text+0x20f6): undefined reference to glMatrixMode'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x20fb): undefined reference to glPushMatrix' /usr/bin/ld: rs-kinfu.cpp:(.text+0x2130): undefined reference to gluPerspective'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x213a): undefined reference to glMatrixMode' /usr/bin/ld: rs-kinfu.cpp:(.text+0x213f): undefined reference to glPushMatrix'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x2186): undefined reference to gluLookAt' /usr/bin/ld: rs-kinfu.cpp:(.text+0x21be): undefined reference to glTranslatef'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x21eb): undefined reference to glRotated' /usr/bin/ld: rs-kinfu.cpp:(.text+0x221b): undefined reference to glRotated'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x2230): undefined reference to glTranslatef' /usr/bin/ld: rs-kinfu.cpp:(.text+0x223a): undefined reference to glEnable'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x2244): undefined reference to glEnable' /usr/bin/ld: rs-kinfu.cpp:(.text+0x224e): undefined reference to glEnable'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x2258): undefined reference to glEnable' /usr/bin/ld: rs-kinfu.cpp:(.text+0x2262): undefined reference to glBegin'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x23ff): undefined reference to glColor3ub' /usr/bin/ld: rs-kinfu.cpp:(.text+0x2424): undefined reference to glNormal3f'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x2449): undefined reference to glVertex3f' /usr/bin/ld: rs-kinfu.cpp:(.text+0x245a): undefined reference to glEnd'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x245f): undefined reference to glPopMatrix' /usr/bin/ld: rs-kinfu.cpp:(.text+0x2469): undefined reference to glMatrixMode'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x246e): undefined reference to glPopMatrix' /usr/bin/ld: rs-kinfu.cpp:(.text+0x2473): undefined reference to glPopAttrib'
/usr/bin/ld: /tmp/ccL08eaw.o: in function main::{lambda()#1}::operator()() const': rs-kinfu.cpp:(.text+0x2f39): undefined reference to cv::Mat::copyTo(cv::_OutputArray const&) const'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x31a4): undefined reference to cv::UMat::copyTo(cv::_OutputArray const&) const' /usr/bin/ld: rs-kinfu.cpp:(.text+0x31f4): undefined reference to cv::UMat::copyTo(cv::_OutputArray const&) const'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x3269): undefined reference to cv::UMat::~UMat()' /usr/bin/ld: rs-kinfu.cpp:(.text+0x3287): undefined reference to cv::UMat::~UMat()'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x3296): undefined reference to cv::UMat::~UMat()' /usr/bin/ld: rs-kinfu.cpp:(.text+0x3483): undefined reference to cv::UMat::~UMat()'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x34b9): undefined reference to cv::UMat::~UMat()' /usr/bin/ld: /tmp/ccL08eaw.o:rs-kinfu.cpp:(.text+0x34c8): more undefined references to cv::UMat::~UMat()' follow
/usr/bin/ld: /tmp/ccL08eaw.o: in function main': rs-kinfu.cpp:(.text+0x364e): undefined reference to cv::kinfu::Params::defaultParams()'
/usr/bin/ld: rs-kinfu.cpp:(.text+0x3aea): undefined reference to cv::kinfu::KinFu::create(cv::Ptr<cv::kinfu::Params> const&)' /usr/bin/ld: /tmp/ccL08eaw.o: in function std::thread::thread<main::{lambda()#1}, , void>(main::{lambda()#1}&&)':
rs-kinfu.cpp:(.text+0x43f1): undefined reference to pthread_create' /usr/bin/ld: /tmp/ccL08eaw.o: in function cv::Mat::Mat(cv::Mat const&)':
rs-kinfu.cpp:(.text.ZN2cv3MatC2ERKS0[ZN2cv3MatC5ERKS0]+0x186): undefined reference to cv::Mat::copySize(cv::Mat const&)' /usr/bin/ld: /tmp/ccL08eaw.o: in function cv::Mat::Mat(int, int, int, void*, unsigned long)':
rs-kinfu.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x150): undefined reference to cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x227): undefined reference to cv::error(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const*, char const*, int)'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x2b0): undefined reference to cv::Mat::updateContinuityFlag()' /usr/bin/ld: /tmp/ccL08eaw.o: in function cv::Mat::~Mat()':
rs-kinfu.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x3d): undefined reference to cv::fastFree(void*)' /usr/bin/ld: /tmp/ccL08eaw.o: in function cv::Mat::operator=(cv::Mat const&)':
rs-kinfu.cpp:(.text.ZN2cv3MataSERKS0[ZN2cv3MataSERKS0]+0x119): undefined reference to cv::Mat::copySize(cv::Mat const&)' /usr/bin/ld: /tmp/ccL08eaw.o: in function cv::Mat::release()':
rs-kinfu.cpp:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x4f): undefined reference to cv::Mat::deallocate()' /usr/bin/ld: /tmp/ccL08eaw.o: in function cv::Mat::operator=(cv::Mat&&)':
rs-kinfu.cpp:(.text.ZN2cv3MataSEOS0[ZN2cv3MataSEOS0]+0xeb): undefined reference to cv::fastFree(void*)' /usr/bin/ld: /tmp/ccL08eaw.o: in function cv::UMat::create(int, int, int, cv::UMatUsageFlags)':
rs-kinfu.cpp:(.text._ZN2cv4UMat6createEiiiNS_14UMatUsageFlagsE[_ZN2cv4UMat6createEiiiNS_14UMatUsageFlagsE]+0xab): undefined reference to cv::UMat::create(int, int const*, int, cv::UMatUsageFlags)' /usr/bin/ld: /tmp/ccL08eaw.o: in function cv::UMat::release()':
rs-kinfu.cpp:(.text._ZN2cv4UMat7releaseEv[_ZN2cv4UMat7releaseEv]+0x4f): undefined reference to cv::UMat::deallocate()' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::error::error(rs2_error*)':
rs-kinfu.cpp:(.text._ZN3rs25errorC2EP9rs2_error[_ZN3rs25errorC5EP9rs2_error]+0x32): undefined reference to rs2_get_error_message' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs25errorC2EP9rs2_error[_ZN3rs25errorC5EP9rs2_error]+0x77): undefined reference to rs2_get_failed_function'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs25errorC2EP9rs2_error[_ZN3rs25errorC5EP9rs2_error]+0x9e): undefined reference to rs2_get_failed_function' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs25errorC2EP9rs2_error[_ZN3rs25errorC5EP9rs2_error]+0x101): undefined reference to rs2_get_failed_args'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs25errorC2EP9rs2_error[_ZN3rs25errorC5EP9rs2_error]+0x128): undefined reference to rs2_get_failed_args' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs25errorC2EP9rs2_error[_ZN3rs25errorC5EP9rs2_error]+0x18b): undefined reference to rs2_get_librealsense_exception_type'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs25errorC2EP9rs2_error[_ZN3rs25errorC5EP9rs2_error]+0x19e): undefined reference to rs2_free_error' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::error::handle(rs2_error*)':
rs-kinfu.cpp:(.text._ZN3rs25error6handleEP9rs2_error[_ZN3rs25error6handleEP9rs2_error]+0x26): undefined reference to rs2_get_librealsense_exception_type' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::stream_profile::stream_profile(rs2_stream_profile const*)':
rs-kinfu.cpp:(.text._ZN3rs214stream_profileC2EPK18rs2_stream_profile[_ZN3rs214stream_profileC5EPK18rs2_stream_profile]+0xc2): undefined reference to rs2_get_stream_profile_data' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs214stream_profileC2EPK18rs2_stream_profile[_ZN3rs214stream_profileC5EPK18rs2_stream_profile]+0xe8): undefined reference to rs2_is_stream_profile_default'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::video_stream_profile::video_stream_profile(rs2::stream_profile const&)': rs-kinfu.cpp:(.text._ZN3rs220video_stream_profileC2ERKNS_14stream_profileE[_ZN3rs220video_stream_profileC5ERKNS_14stream_profileE]+0x74): undefined reference to rs2_stream_profile_is'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs220video_stream_profileC2ERKNS_14stream_profileE[_ZN3rs220video_stream_profileC5ERKNS_14stream_profileE]+0xdd): undefined reference to rs2_get_video_stream_resolution' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::video_stream_profile::get_intrinsics() const':
rs-kinfu.cpp:(.text._ZNK3rs220video_stream_profile14get_intrinsicsEv[_ZNK3rs220video_stream_profile14get_intrinsicsEv]+0x41): undefined reference to rs2_get_video_stream_intrinsics' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frame::~frame()':
rs-kinfu.cpp:(.text._ZN3rs25frameD2Ev[_ZN3rs25frameD5Ev]+0x27): undefined reference to rs2_release_frame' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frame::keep()':
rs-kinfu.cpp:(.text._ZN3rs25frame4keepEv[_ZN3rs25frame4keepEv]+0x1b): undefined reference to rs2_keep_frame' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frame::get_data() const':
rs-kinfu.cpp:(.text._ZNK3rs25frame8get_dataEv[_ZNK3rs25frame8get_dataEv]+0x39): undefined reference to rs2_get_frame_data' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frame::get_profile() const':
rs-kinfu.cpp:(.text._ZNK3rs25frame11get_profileEv[_ZNK3rs25frame11get_profileEv]+0x3d): undefined reference to rs2_get_frame_stream_profile' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frame::add_ref() const':
rs-kinfu.cpp:(.text._ZNK3rs25frame7add_refEv[_ZNK3rs25frame7add_refEv]+0x39): undefined reference to rs2_frame_add_ref' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frame::reset()':
rs-kinfu.cpp:(.text._ZN3rs25frame5resetEv[_ZN3rs25frame5resetEv]+0x27): undefined reference to rs2_release_frame' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::video_frame::video_frame(rs2::frame const&)':
rs-kinfu.cpp:(.text._ZN3rs211video_frameC2ERKNS_5frameE[_ZN3rs211video_frameC5ERKNS_5frameE]+0x71): undefined reference to rs2_is_frame_extendable_to' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::video_frame::get_width() const':
rs-kinfu.cpp:(.text._ZNK3rs211video_frame9get_widthEv[_ZNK3rs211video_frame9get_widthEv]+0x41): undefined reference to rs2_get_frame_width' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::video_frame::get_height() const':
rs-kinfu.cpp:(.text._ZNK3rs211video_frame10get_heightEv[_ZNK3rs211video_frame10get_heightEv]+0x41): undefined reference to rs2_get_frame_height' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::points::get_vertices() const':
rs-kinfu.cpp:(.text._ZNK3rs26points12get_verticesEv[_ZNK3rs26points12get_verticesEv]+0x41): undefined reference to rs2_get_frame_vertices' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::points::get_texture_coordinates() const':
rs-kinfu.cpp:(.text._ZNK3rs26points23get_texture_coordinatesEv[_ZNK3rs26points23get_texture_coordinatesEv]+0x41): undefined reference to rs2_get_frame_texture_coordinates' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::depth_frame::depth_frame(rs2::frame const&)':
rs-kinfu.cpp:(.text._ZN3rs211depth_frameC2ERKNS_5frameE[_ZN3rs211depth_frameC5ERKNS_5frameE]+0x71): undefined reference to rs2_is_frame_extendable_to' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frameset::frameset(rs2::frame const&)':
rs-kinfu.cpp:(.text._ZN3rs28framesetC2ERKNS_5frameE[_ZN3rs28framesetC5ERKNS_5frameE]+0x7d): undefined reference to rs2_is_frame_extendable_to' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs28framesetC2ERKNS_5frameE[_ZN3rs28framesetC5ERKNS_5frameE]+0xe6): undefined reference to rs2_embedded_frames_count'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::options::set_option(rs2_option, float) const': rs-kinfu.cpp:(.text._ZNK3rs27options10set_optionE10rs2_optionf[_ZNK3rs27options10set_optionE10rs2_optionf]+0x4b): undefined reference to rs2_set_option'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frame_queue::frame_queue(unsigned int, bool)': rs-kinfu.cpp:(.text._ZN3rs211frame_queueC2Ejb[_ZN3rs211frame_queueC5Ejb]+0x5f): undefined reference to rs2_create_frame_queue'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs211frame_queueC2Ejb[_ZN3rs211frame_queueC5Ejb]+0x6d): undefined reference to rs2_delete_frame_queue' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::frame_queue::enqueue(rs2::frame) const':
rs-kinfu.cpp:(.text._ZNK3rs211frame_queue7enqueueENS_5frameE[_ZNK3rs211frame_queue7enqueueENS_5frameE]+0x49): undefined reference to rs2_enqueue_frame' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::processing_block::invoke(rs2::frame) const':
rs-kinfu.cpp:(.text._ZNK3rs216processing_block6invokeENS_5frameE[_ZNK3rs216processing_block6invokeENS_5frameE]+0x68): undefined reference to rs2_process_frame' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::colorizer::init()':
rs-kinfu.cpp:(.text._ZN3rs29colorizer4initEv[_ZN3rs29colorizer4initEv]+0x34): undefined reference to rs2_create_colorizer' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs29colorizer4initEv[_ZN3rs29colorizer4initEv]+0x42): undefined reference to rs2_delete_processing_block'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::decimation_filter::init()': rs-kinfu.cpp:(.text._ZN3rs217decimation_filter4initEv[_ZN3rs217decimation_filter4initEv]+0x34): undefined reference to rs2_create_decimation_filter_block'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs217decimation_filter4initEv[_ZN3rs217decimation_filter4initEv]+0x42): undefined reference to rs2_delete_processing_block' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::temporal_filter::init()':
rs-kinfu.cpp:(.text._ZN3rs215temporal_filter4initEv[_ZN3rs215temporal_filter4initEv]+0x34): undefined reference to rs2_create_temporal_filter_block' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs215temporal_filter4initEv[_ZN3rs215temporal_filter4initEv]+0x42): undefined reference to rs2_delete_processing_block'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::spatial_filter::init()': rs-kinfu.cpp:(.text._ZN3rs214spatial_filter4initEv[_ZN3rs214spatial_filter4initEv]+0x34): undefined reference to rs2_create_spatial_filter_block'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs214spatial_filter4initEv[_ZN3rs214spatial_filter4initEv]+0x42): undefined reference to rs2_delete_processing_block' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::sensor::get_stream_profiles() const':
rs-kinfu.cpp:(.text._ZNK3rs26sensor19get_stream_profilesEv[_ZNK3rs26sensor19get_stream_profilesEv]+0x79): undefined reference to rs2_get_stream_profiles' /usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs26sensor19get_stream_profilesEv[_ZNK3rs26sensor19get_stream_profilesEv]+0x87): undefined reference to rs2_delete_stream_profiles_list'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs26sensor19get_stream_profilesEv[_ZNK3rs26sensor19get_stream_profilesEv]+0xbc): undefined reference to rs2_get_stream_profiles_count' /usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs26sensor19get_stream_profilesEv[_ZNK3rs26sensor19get_stream_profilesEv]+0xfa): undefined reference to rs2_get_stream_profile'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::depth_sensor::depth_sensor(rs2::sensor)': rs-kinfu.cpp:(.text._ZN3rs212depth_sensorC2ENS_6sensorE[_ZN3rs212depth_sensorC5ENS_6sensorE]+0x9a): undefined reference to rs2_is_sensor_extendable_to'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::depth_sensor::get_depth_scale() const': rs-kinfu.cpp:(.text._ZNK3rs212depth_sensor15get_depth_scaleEv[_ZNK3rs212depth_sensor15get_depth_scaleEv]+0x45): undefined reference to rs2_get_depth_scale'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::device::query_sensors() const': rs-kinfu.cpp:(.text._ZNK3rs26device13query_sensorsEv[_ZNK3rs26device13query_sensorsEv]+0x56): undefined reference to rs2_query_sensors'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs26device13query_sensorsEv[_ZNK3rs26device13query_sensorsEv]+0x64): undefined reference to rs2_delete_sensor_list' /usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs26device13query_sensorsEv[_ZNK3rs26device13query_sensorsEv]+0x99): undefined reference to rs2_get_sensors_count'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs26device13query_sensorsEv[_ZNK3rs26device13query_sensorsEv]+0xea): undefined reference to rs2_create_sensor' /usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs26device13query_sensorsEv[_ZNK3rs26device13query_sensorsEv]+0xf8): undefined reference to rs2_delete_sensor'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::device::supports(rs2_camera_info) const': rs-kinfu.cpp:(.text._ZNK3rs26device8supportsE15rs2_camera_info[_ZNK3rs26device8supportsE15rs2_camera_info]+0x4a): undefined reference to rs2_supports_device_info'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::device::get_info(rs2_camera_info) const': rs-kinfu.cpp:(.text._ZNK3rs26device8get_infoE15rs2_camera_info[_ZNK3rs26device8get_infoE15rs2_camera_info]+0x4a): undefined reference to rs2_get_device_info'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::device_list::operator[](unsigned int) const': rs-kinfu.cpp:(.text._ZNK3rs211device_listixEj[_ZNK3rs211device_listixEj]+0x4e): undefined reference to rs2_create_device'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs211device_listixEj[_ZNK3rs211device_listixEj]+0x5c): undefined reference to rs2_delete_device' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::device_list::size() const':
rs-kinfu.cpp:(.text._ZNK3rs211device_list4sizeEv[_ZNK3rs211device_list4sizeEv]+0x41): undefined reference to rs2_get_device_count' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::context::context()':
rs-kinfu.cpp:(.text._ZN3rs27contextC2Ev[_ZN3rs27contextC5Ev]+0x41): undefined reference to rs2_create_context' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs27contextC2Ev[_ZN3rs27contextC5Ev]+0x4f): undefined reference to rs2_delete_context'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::context::query_devices() const': rs-kinfu.cpp:(.text._ZNK3rs27context13query_devicesEv[_ZNK3rs27context13query_devicesEv]+0x46): undefined reference to rs2_query_devices'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs27context13query_devicesEv[_ZNK3rs27context13query_devicesEv]+0x54): undefined reference to rs2_delete_device_list' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::pipeline_profile::get_streams() const':
rs-kinfu.cpp:(.text._ZNK3rs216pipeline_profile11get_streamsEv[_ZNK3rs216pipeline_profile11get_streamsEv]+0x52): undefined reference to rs2_pipeline_profile_get_streams' /usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs216pipeline_profile11get_streamsEv[_ZNK3rs216pipeline_profile11get_streamsEv]+0x60): undefined reference to rs2_delete_stream_profiles_list'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs216pipeline_profile11get_streamsEv[_ZNK3rs216pipeline_profile11get_streamsEv]+0x95): undefined reference to rs2_get_stream_profiles_count' /usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs216pipeline_profile11get_streamsEv[_ZNK3rs216pipeline_profile11get_streamsEv]+0xd3): undefined reference to rs2_get_stream_profile'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::pipeline_profile::get_device() const': rs-kinfu.cpp:(.text._ZNK3rs216pipeline_profile10get_deviceEv[_ZNK3rs216pipeline_profile10get_deviceEv]+0x46): undefined reference to rs2_pipeline_profile_get_device'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZNK3rs216pipeline_profile10get_deviceEv[_ZNK3rs216pipeline_profile10get_deviceEv]+0x54): undefined reference to rs2_delete_device' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::config::config()':
rs-kinfu.cpp:(.text._ZN3rs26configC2Ev[_ZN3rs26configC5Ev]+0x3c): undefined reference to rs2_create_config' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs26configC2Ev[_ZN3rs26configC5Ev]+0x4a): undefined reference to rs2_delete_config'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::config::enable_stream(rs2_stream, int, int, int, rs2_format, int)': rs-kinfu.cpp:(.text._ZN3rs26config13enable_streamE10rs2_streamiii10rs2_formati[_ZN3rs26config13enable_streamE10rs2_streamiii10rs2_formati]+0x64): undefined reference to rs2_config_enable_stream'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::pipeline::pipeline(rs2::context)': rs-kinfu.cpp:(.text._ZN3rs28pipelineC2ENS_7contextE[_ZN3rs28pipelineC5ENS_7contextE]+0x52): undefined reference to rs2_create_pipeline'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs28pipelineC2ENS_7contextE[_ZN3rs28pipelineC5ENS_7contextE]+0x60): undefined reference to rs2_delete_pipeline' /usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::pipeline::start(rs2::config const&)':
rs-kinfu.cpp:(.text._ZN3rs28pipeline5startERKNS_6configE[_ZN3rs28pipeline5startERKNS_6configE]+0x6f): undefined reference to rs2_pipeline_start_with_config' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN3rs28pipeline5startERKNS_6configE[_ZN3rs28pipeline5startERKNS_6configE]+0x7d): undefined reference to rs2_delete_pipeline_profile'
/usr/bin/ld: /tmp/ccL08eaw.o: in function rs2::pipeline::wait_for_frames(unsigned int) const': rs-kinfu.cpp:(.text._ZNK3rs28pipeline15wait_for_framesEj[_ZNK3rs28pipeline15wait_for_framesEj]+0x4b): undefined reference to rs2_pipeline_wait_for_frames'
/usr/bin/ld: /tmp/ccL08eaw.o: in function window::window(int, int, char const*)::{lambda(GLFWwindow*, int, int, int)#1}::operator()(GLFWwindow*, int, int, int) const': rs-kinfu.cpp:(.text._ZZN6windowC4EiiPKcENKUlP10GLFWwindowiiiE_clES3_iii[_ZZN6windowC4EiiPKcENKUlP10GLFWwindowiiiE_clES3_iii]+0x26): undefined reference to glfwGetWindowUserPointer'
/usr/bin/ld: /tmp/ccL08eaw.o: in function window::window(int, int, char const*)::{lambda(GLFWwindow*, double, double)#2}::operator()(GLFWwindow*, double, double) const': rs-kinfu.cpp:(.text._ZZN6windowC4EiiPKcENKUlP10GLFWwindowddE0_clES3_dd[_ZZN6windowC4EiiPKcENKUlP10GLFWwindowddE0_clES3_dd]+0x26): undefined reference to glfwGetWindowUserPointer'
/usr/bin/ld: /tmp/ccL08eaw.o: in function window::window(int, int, char const*)::{lambda(GLFWwindow*, double, double)#3}::operator()(GLFWwindow*, double, double) const': rs-kinfu.cpp:(.text._ZZN6windowC4EiiPKcENKUlP10GLFWwindowddE1_clES3_dd[_ZZN6windowC4EiiPKcENKUlP10GLFWwindowddE1_clES3_dd]+0x26): undefined reference to glfwGetWindowUserPointer'
/usr/bin/ld: /tmp/ccL08eaw.o: in function window::window(int, int, char const*)::{lambda(GLFWwindow*, int, int, int, int)#4}::operator()(GLFWwindow*, int, int, int, int) const': rs-kinfu.cpp:(.text._ZZN6windowC4EiiPKcENKUlP10GLFWwindowiiiiE2_clES3_iiii[_ZZN6windowC4EiiPKcENKUlP10GLFWwindowiiiiE2_clES3_iiii]+0x2a): undefined reference to glfwGetWindowUserPointer'
/usr/bin/ld: /tmp/ccL08eaw.o: in function window::window(int, int, char const*)': rs-kinfu.cpp:(.text._ZN6windowC2EiiPKc[_ZN6windowC5EiiPKc]+0x105): undefined reference to glfwInit'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowC2EiiPKc[_ZN6windowC5EiiPKc]+0x121): undefined reference to glfwCreateWindow' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowC2EiiPKc[_ZN6windowC5EiiPKc]+0x184): undefined reference to glfwMakeContextCurrent'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowC2EiiPKc[_ZN6windowC5EiiPKc]+0x19e): undefined reference to glfwSetWindowUserPointer' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowC2EiiPKc[_ZN6windowC5EiiPKc]+0x1c3): undefined reference to glfwSetMouseButtonCallback'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowC2EiiPKc[_ZN6windowC5EiiPKc]+0x1e8): undefined reference to glfwSetScrollCallback' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowC2EiiPKc[_ZN6windowC5EiiPKc]+0x20d): undefined reference to glfwSetCursorPosCallback'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowC2EiiPKc[_ZN6windowC5EiiPKc]+0x232): undefined reference to glfwSetKeyCallback' /usr/bin/ld: /tmp/ccL08eaw.o: in function window::~window()':
rs-kinfu.cpp:(.text._ZN6windowD2Ev[_ZN6windowD5Ev]+0x1f): undefined reference to glfwDestroyWindow' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowD2Ev[_ZN6windowD5Ev]+0x24): undefined reference to glfwTerminate'
/usr/bin/ld: /tmp/ccL08eaw.o: in function window::operator bool()': rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0x11): undefined reference to glPopMatrix'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0x24): undefined reference to glfwSwapBuffers' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0x37): undefined reference to glfwWindowShouldClose'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0x44): undefined reference to glfwPollEvents' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0x70): undefined reference to glfwGetFramebufferSize'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0x7a): undefined reference to glClear' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0xa1): undefined reference to glViewport'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0xa6): undefined reference to glPushMatrix' /usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0xd2): undefined reference to glfwGetWindowSize'
/usr/bin/ld: rs-kinfu.cpp:(.text._ZN6windowcvbEv[_ZN6windowcvbEv]+0x11b): undefined reference to glOrtho' /usr/bin/ld: /tmp/ccL08eaw.o: in function void rs2::frameset::foreach_rs<rs2::frameset::first_or_default(rs2_stream, rs2_format) const::{lambda(rs2::frame)#1}>(rs2::frameset::first_or_default(rs2_stream, rs2_format) const::{lambda(rs2::frame)#1}) const':
rs-kinfu.cpp:(.text.ZNK3rs28frameset10foreach_rsIZNKS0_16first_or_defaultE10rs2_stream10rs2_formatEUlNS_5frameEE_EEvT[ZNK3rs28frameset10foreach_rsIZNKS0_16first_or_defaultE10rs2_stream10rs2_formatEUlNS_5frameEE_EEvT]+0x84): undefined reference to rs2_extract_frame' /usr/bin/ld: /tmp/ccL08eaw.o: in function std::enable_if<std::is_base_of<rs2::frame, rs2::frame>::value, bool>::type rs2::frame_queue::poll_for_framers2::frame(rs2::frame*) const':
rs-kinfu.cpp:(.text.ZNK3rs211frame_queue14poll_for_frameINS_5frameEEENSt9enable_ifIXsrSt10is_base_ofIS2_T_E5valueEbE4typeEPS5[ZNK3rs211frame_queue14poll_for_frameINS_5frameEEENSt9enable_ifIXsrSt10is_base_ofIS2_T_E5valueEbE4typeEPS5]+0x52): undefined reference to rs2_poll_for_frame' /usr/bin/ld: /tmp/ccL08eaw.o: in function void rs2::processing_block::startrs2::frame_queue(rs2::frame_queue)':
rs-kinfu.cpp:(.text.ZN3rs216processing_block5startINS_11frame_queueEEEvT[ZN3rs216processing_block5startINS_11frame_queueEEEvT]+0x7a): undefined reference to `rs2_start_processing'
collect2: error: ld returned 1 exit status

@TheNemo05
Copy link
Author

image
Also while i created make for the above build option u mentioned in the build folder of librealsense i got this error regarding rs-kinfu.

@MartyG-RealSense
Copy link
Collaborator

I do not have anything else I can suggest for correcting your rs-kinfu errors, unfortunately. I do apologize.

@MartyG-RealSense
Copy link
Collaborator

Hi @TheNemo05 Bearing in mind the comment above, do you require further assistance with this case please? Thanks!

@MartyG-RealSense
Copy link
Collaborator

Case closed due to no further comments received.

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

No branches or pull requests

2 participants