cmake后无法make

cmake后无法make

不确定这是问我的问题的正确位置,但我想尝试一下,因为过去有些人已经设法在这里帮助我。

我正在尝试在我的计算机上运行此软件:github.com/sergeytulyakov/FaceCept3D

我做了什么:

sudo apt-get install libpcl-dev  
mkdir FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/build
cd FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/build
cmake ..

这有效(参见输出这里),但下一步make失败:

$ make
-- Build files have been written to: /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/build
yalishanda@yalishanda-ThinkPad-X200:~/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/build$ make
Scanning dependencies of target HeadPoseEstimationFramework
[  3%] Building CXX object CMakeFiles/HeadPoseEstimationFramework.dir/Detector/DepthFrameDetector/localFunctions.cpp.o
<command-line>:0:15: warning: ISO C++11 requires whitespace after the macro name
[  6%] Building CXX object CMakeFiles/HeadPoseEstimationFramework.dir/Detector/DepthFrameDetector/LeafNode.cpp.o
<command-line>:0:15: warning: ISO C++11 requires whitespace after the macro name
[  9%] Building CXX object CMakeFiles/HeadPoseEstimationFramework.dir/Detector/DepthFrameDetector/DepthDetector.cpp.o
<command-line>:0:15: warning: ISO C++11 requires whitespace after the macro name
[ 12%] Building CXX object CMakeFiles/HeadPoseEstimationFramework.dir/Detector/DepthFrameDetector/Tree.cpp.o
<command-line>:0:15: warning: ISO C++11 requires whitespace after the macro name
[ 15%] Building CXX object CMakeFiles/HeadPoseEstimationFramework.dir/Detector/DepthFrameDetector/csvMat.cpp.o
<command-line>:0:15: warning: ISO C++11 requires whitespace after the macro name
[ 18%] Building CXX object CMakeFiles/HeadPoseEstimationFramework.dir/Processor/TrackingProcessor.cpp.o
<command-line>:0:15: warning: ISO C++11 requires whitespace after the macro name
In file included from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Tracker/ICPTemplateTracker.h:15:0,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.h:11,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.cpp:1:
/usr/include/pcl-1.7/pcl/visualization/cloud_viewer.h:202:14: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
         std::auto_ptr<CloudViewer_impl> impl_;
              ^
In file included from /usr/include/c++/5/memory:81:0,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/pcl-1.7/pcl/PCLPointField.h:11,
                 from /usr/include/pcl-1.7/pcl/point_traits.h:48,
                 from /usr/include/pcl-1.7/pcl/register_point_struct.h:57,
                 from /usr/include/pcl-1.7/pcl/point_types.h:44,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.h:6,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.cpp:1:
/usr/include/c++/5/bits/unique_ptr.h:49:28: note: declared here
   template<typename> class auto_ptr;
                            ^
In file included from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.cpp:22:0:
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Helpers/HpeHelpers.h: In function ‘Eigen::Vector3f hpe::GetNormal(typename pcl::PointCloud<PointT>::Ptr, int)’:
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Helpers/HpeHelpers.h:23:9: error: need ‘typename’ before ‘pcl::search::KdTree<TPoint>::Ptr’ because ‘pcl::search::KdTree<TPoint>’ is a dependent scope
         pcl::search::KdTree<PointType>::Ptr search(new pcl::search::KdTree<PointType>);
         ^
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Helpers/HpeHelpers.h:23:45: error: expected ‘;’ before ‘search’
         pcl::search::KdTree<PointType>::Ptr search(new pcl::search::KdTree<PointType>);
                                             ^
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Helpers/HpeHelpers.h:32:28: error: ‘search’ was not declared in this scope
         ne.setSearchMethod(search);
                            ^
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Helpers/HpeHelpers.h:32:28: note: suggested alternatives:
In file included from /usr/include/c++/5/algorithm:62:0,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:37,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/pcl-1.7/pcl/PCLPointField.h:11,
                 from /usr/include/pcl-1.7/pcl/point_traits.h:48,
                 from /usr/include/pcl-1.7/pcl/register_point_struct.h:57,
                 from /usr/include/pcl-1.7/pcl/point_types.h:44,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.h:6,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.cpp:1:
/usr/include/c++/5/bits/stl_algo.h:4062:5: note:   ‘std::search’
     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
     ^
In file included from /usr/include/pcl-1.7/pcl/search/kdtree.h:43:0,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Tracker/ICPTemplateTracker.h:14,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.h:11,
                 from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.cpp:1:
/usr/include/pcl-1.7/pcl/search/search.h:50:3: note:   ‘pcl::search’
   {
   ^
In file included from /home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.cpp:22:0:
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Helpers/HpeHelpers.h: In instantiation of ‘Eigen::Vector3f hpe::GetNormal(typename pcl::PointCloud<PointT>::Ptr, int) [with PointType = pcl::PointXYZRGBA; Eigen::Vector3f = Eigen::Matrix<float, 3, 1>; typename pcl::PointCloud<PointT>::Ptr = boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGBA> >]’:
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Processor/TrackingProcessor.cpp:86:85:   required from here
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Helpers/HpeHelpers.h:23:9: error: dependent-name ‘pcl::search::KdTree<TPoint>::Ptr’ is parsed as a non-type, but instantiation yields a type
         pcl::search::KdTree<PointType>::Ptr search(new pcl::search::KdTree<PointType>);
         ^
/home/yalishanda/Downloads/FaceCept3D-master/FaceCept3D/HeadPoseEstimationFramework/Helpers/HpeHelpers.h:23:9: note: say ‘typename pcl::search::KdTree<TPoint>::Ptr’ if a type is meant
CMakeFiles/HeadPoseEstimationFramework.dir/build.make:182: recipe for target 'CMakeFiles/HeadPoseEstimationFramework.dir/Processor/TrackingProcessor.cpp.o' failed
make[2]: *** [CMakeFiles/HeadPoseEstimationFramework.dir/Processor/TrackingProcessor.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/HeadPoseEstimationFramework.dir/all' failed
make[1]: *** [CMakeFiles/HeadPoseEstimationFramework.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

this doesn t work: http://paste.ubuntu.com/25168498/

And I don't really understand why it doesn't work. The code is provided as is on github, no issues related to what I am facing have been reported as far as I can see. So I guess I am doing something incorrectly.

相关内容