openpose 编译告诉未定义的引用 cv::VideoCapture::VideoCapture(cv::String const&)



我已经禁用了gpu,然后

cp caffe/build/Makefile openpose/Makefile.conf

运行

 make all -j 6

有这些错误:

-- Generating done
-- Build files have been written to: /path/to/caffe/build
CXX/LD -o ._release/examples/tutorial_thread/1_openpose_read_and_display.bin
._release/lib/libopenpose.so: undefined reference to `cv::VideoCapture::VideoCapture(cv::String const&)'
._release/lib/libopenpose.so: undefined reference to `cv::VideoCapture::set(int, double)'
._release/lib/libopenpose.so: undefined reference to `op::renderPartAffinityFieldGpu(float*, op::PoseModel, cv::Size_<int> const&, float const*, cv::Size_<int> const&, float, int, float)'
._release/lib/libopenpose.so: undefined reference to `cv::VideoCapture::release()'
._release/lib/libopenpose.so: undefined reference to `op::renderBodyPartsGpu(float*, op::PoseModel, cv::Size_<int> const&, float const*, cv::Size_<int> const&, float, float)'
._release/lib/libopenpose.so: undefined reference to `cv::VideoCapture::operator>>(cv::Mat&)'

找不到openCV,我从源中汇编了最新的OpenCV 3.2-dev,所有OPENCV程序(C 和Python都可以使用(,所以为什么无法打开pose find opencv?

caffe识别opencv实际上,这些参考是在OpenCV3.2中丢弃的方法,但在OpenCV 3.1.0或更早版本中可用。我在安装3.2时也有相同的问题降级到3.1.0为我解决了问题,这是安装OpenCV 3.1.0的不错的指南,并根据

>

在讨论中,似乎标准是支持Ubuntu来源中可用的OPENCV,我认为您现在无法通过APT-GET安装OpenCV3.2,只需要从source

带有cmake installer(推荐一个(:

CMake Installer永远不会发生此错误,因此我建议您使用推荐的安装程序。

使用makefile安装程序(弃用一个(:

I have compiled caffe with GPU disabled:您不能将GPU禁用以获取openpose(也不能使用OpenPose使用的咖啡(。很抱歉,但是CPU代码根本没有完成(鉴于速度非常慢,目前还没有完成(。您将必须使用Cuda Cudnn。

为了解决未找到的问题,您需要在两个makefile.conf文件(来自openpose和caffe的文件(中启用,使用opencv 3标志。

最新更新