lesterlo / PointCloud-Object-Labeller

Label objects in a PointCloud
https://wp.me/p7E4PF-8c
MIT License
8 stars 2 forks source link

Ubuntu18.04 vtk version6.3 but remove vtkRenderingFreeTypeOpenGL #8

Open MikoyChinese opened 4 years ago

MikoyChinese commented 4 years ago

Hi, Today I build it on my PC, which is Ubuntu18.04 with pcl1.8 and vtk6.3. And got a error about /usr/bin/ld: cannot find -lvtkRenderingFreeTypeOpenGL, and When I search it from google, I found that the vtkRenderingFreeTypeOpenGL was remove from vtk6.3 while vtk6.2 is still. So can you tell me how do you build it on Ubuntu18.04, and what packets you have installed?

Thanks, Mikoy Chinese

lesterlo commented 4 years ago

Did you install libvtk6-qt-dev? Just a quick possible solution I just through.

I following this build_guide to build the PCL 1.9.1 and PointCloud Labeller. I haven't encountered this type of error

MikoyChinese commented 4 years ago

Reply:

Yes, I do. My PC was ubuntu18.04:

Issues:

https://github.com/lesterlo/PointCloud-Object-Labeller/blob/35e6fdaa517372382b86080488939e7b8918933d/CMakeLists.txt#L8

#For QT auto gen
set(CMAKE_AUTOMOC ON) # For meta object compiler
set(CMAKE_AUTORCC ON) # Resource files
set(CMAKE_AUTOUIC ON) # UI files

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /opt/Qt5.9.6/5.9.6/gcc_64/lib/cmake)
lesterlo commented 4 years ago

Since I am using qt, vtk from apt package manager, I don't know what happens when the program compiles with the libraries from other sources. Please follow this guide to install all of the libraries I recommended. I tested the program through this configuration.

The program is targeted on PCL version 1.9.1. This version of PCL requires the compiler compatible with >= C++ 14. Maybe you can change it to c++ 14 on this line to see whether this can solve your problem. https://github.com/lesterlo/PointCloud-Object-Labeller/blob/35e6fdaa517372382b86080488939e7b8918933d/CMakeLists.txt#L8

The g++ compiler in Ubuntu 18.04 should compatible with c++17.

About the second question. Since the default ld path doesn't include /opt/*. You need to manually include it on the cmake when you install the library at non-default location.

Hope this message can solve your problem.

MikoyChinese commented 4 years ago

Thx, I will try it again.