Finger
Finger

Reputation: 61

Which PCL Libraries I need to compile a QT4 project

I'm looking for the PCL libraries which I have to linke in a QT4 project.

Upvotes: 1

Views: 1525

Answers (2)

Finger
Finger

Reputation: 61

i found the solution. The /QT/4.8.0/ folder with the QT files was missing.

for this one they also would like to implement the pcl in her own qt projekt.

  • download QT creator -> install
  • download QT 4.8.0 for VS2010 -> install
  • download pcl binaries -> install
  • add the following code to your project file
  • enjoy PCL

This is my *.pro file with openCV and PCL includes/links:

#openCV
INCLUDEPATH += C:\\opencv2_4_0_VS_bin\\build\\include
LIBS += -LC:\\opencv2_4_0_VS_bin\\lib\\Debug\\ \
-lopencv_core240d \
-lopencv_highgui240d  \
-lopencv_imgproc240d  \
-lopencv_features2d240d  \
-lopencv_calib3d240d \
-lopencv_contrib240d \
-lopencv_flann240d \
-lopencv_legacy240d \
-lopencv_ml240d \
-lopencv_objdetect240d \
-lopencv_ts240d \
#-lopencv_gpu240d \
-lopencv_video240d

# PCL
INCLUDEPATH += C:\\PCL_1_6_0\\include\\pcl-1.6
INCLUDEPATH += C:\\PCL_1_6_0\\3rdParty\\Boost\\include
INCLUDEPATH += C:\\PCL_1_6_0\\3rdParty\\Eigen\\include
INCLUDEPATH += C:\\PCL_1_6_0\\3rdParty\\FLANN\\include
INCLUDEPATH += C:\\PCL_1_6_0\\3rdParty\\Qhull\\include
INCLUDEPATH += C:\\PCL_1_6_0\\3rdParty\\VTK\\include\\vtk-5.8
INCLUDEPATH += C:\\Program Files (x86)\\OpenNI\\Include

LIBS += -L"C:\Program Files (x86)\OpenNI\Lib\openNI.lib"

LIBS += -LC:\\PCL_1_6_0\\3rdParty\\Qhull\\Lib\\ \
-lqhullstatic

LIBS += -LC:\\PCL_1_6_0\\lib\\ \
-lpcl_apps_release \
-lpcl_common_release \
-lpcl_features_release \
-lpcl_filters_release \
-lpcl_io_release \
-lpcl_io_ply_release \
-lpcl_kdtree_release \
-lpcl_keypoints_release \
-lpcl_octree_release \
#-lpcl_range_image_border_extractor_release \
-lpcl_registration_release \
-lpcl_sample_consensus_release \
-lpcl_search_release \
-lpcl_segmentation_release \
-lpcl_surface_release \
-lpcl_tracking_release \
-lpcl_visualization_release

LIBS += -LC:\\PCL_1_6_0\\3rdParty\\VTK\\lib\\vtk-5.8\\ \
-lMapReduceMPI \
-lmpistubs  \
-lQVTK \
-lvtkalglib \
-lvtkCharts \
-lvtkCommon \
-lvtkDICOMParser \
-lvtkexoIIc \
-lvtkexpat \
-lvtkFiltering \
-lvtkfreetype \
-lvtkftgl \
-lvtkGenericFiltering \
-lvtkGeovis \
-lvtkGraphics \
-lvtkhdf5 \
-lvtkHybrid \
-lvtkImaging \
-lvtkInfovis \
-lvtkIO \
-lvtkjpeg \
-lvtklibxml2 \
-lvtkmetaio \
-lvtkNetCDF \
-lvtkNetCDF_cxx \
-lvtkpng \
-lvtkproj4 \
-lvtkRendering \
-lvtksqlite \
-lvtksys \
-lvtktiff \
-lvtkverdict \
-lvtkViews \
-lvtkVolumeRendering \
-lvtkWidgets \
-lvtkzlib

LIBS += -LC:\\PCL_1_6_0\\3rdParty\\FLANN\\lib\\ \
-lflann_cpp_s

LIBS += -LC:\\PCL_1_6_0\\3rdParty\\Boost\\lib\\ \
-llibboost_date_time-vc100-mt-1_49 \
-llibboost_thread-vc100-mt-1_49 \
-llibboost_filesystem-vc100-mt-1_49 \
-llibboost_system-vc100-mt-1_49 \
-llibboost_iostreams-vc100-mt-1_49

Unfortunately I have a other Link issue :-(

When I try to use the visualizer (pcl::visualization::PCLVisualizer) it gives me some errors like this:

vtkCommon.lib(vtkDebugLeaks.obj):-1: Fehler:LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__MessageBoxA@16" in Funktion ""protected: static int __cdecl vtkDebugLeaks::DisplayMessageBox(char const *)" (?DisplayMessageBox@vtkDebugLeaks@@KAHPBD@Z)". 

(sorry it's in german but you can see the error LNK2019 and the missing file)

It seems to be a external linking error whis the vktCommon.lib. This library is missing a vtkWin32outputWindow.obj file. Also is the SystemTools.obj file missing.

I could find a solution.

The pcl::visualization::CloudViewer works fine.

btw. Im looking for a solution how can I color a point cloud area (defined by a pcl::PointIndices). I would like to color the ground floor which is detected from the segmentation.

Upvotes: 2

Gaurav Raj
Gaurav Raj

Reputation: 708

Which operating system are you working on?

If you right click on your project file, it shows an option - Add library->External Library. In this window, select your library file and include file locations. It will generate include statement in your .pro file.

Make sure you use libraries compiled from the same compiler which you are using to compile your current project. For e.g. - On windows, if you are using Win32-VC10 binaries for PCL, then make sure, you are using VC10 compiler to compile qt project as well.

Upvotes: 0

Related Questions