我正在寻找我必须在QT4项目中链接的PCL库。
答案 0 :(得分:2)
我找到了解决方案。缺少带有QT文件的/QT/4.8.0/文件夹。
对于这个,他们也希望在自己的qt projekt中实现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项目。