我需要哪些PCL库来编译QT4项目

时间:2012-12-04 10:12:58

标签: qt4 point-cloud-library

我正在寻找我必须在QT4项目中链接的PCL库。

2 个答案:

答案 0 :(得分:2)

我找到了解决方案。缺少带有QT文件的/QT/4.8.0/文件夹。

对于这个,他们也希望在自己的qt projekt中实现pcl。

  • 下载QT创建者 - >安装
  • 下载QT 4.8.0 for VS2010 - >安装
  • 下载pcl二进制文件 - >安装
  • 将以下代码添加到项目文件
  • 享受PCL

这是我的* .pro文件,包含openCV和PCL包含/ 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

不幸的是我还有其他链接问题:-(

当我尝试使用可视化工具(pcl :: visualization :: PCLVisualizer)时,它会给我一些错误:

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)". 

(对不起,这是德语,但你可以看到错误LNK2019和丢失的文件)

vktCommon.lib似乎是一个外部链接错误。该库缺少vtkWin32outputWindow.obj文件。 还缺少SystemTools.obj文件。

我可以找到解决方案。

pcl :: visualization :: CloudViewer工作正常。

顺便说一句。我正在寻找一个解决方案,我如何着色点云区域(由pcl :: PointIndices定义)。我想为从分割中检测到的底层着色。

答案 1 :(得分:0)

您正在使用哪种操作系统?

如果右键单击项目文件,它会显示一个选项 - 添加库 - >外部库。在此窗口中,选择库文件并包含文件位置。它将在.pro文件中生成include语句。

确保使用从用于编译当前项目的相同编译器编译的库。对于例如 - 在Windows上,如果您使用Win32-VC10二进制文件进行PCL,那么请确保您使用VC10编译器来编译qt项目。