pyopencv 安装中的 OpenCV 错误

51 阅读2分钟

当尝试使用 pip 安装 pyopencv 时,遇到了以下错误:

$ ./vendor/venv/bin/pip install pyopencv

Installing collected packages: pyopencv Running setup.py install for pyopencv

building 'pyopencv.pyopencv_extras' extension cc -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -dynamiclib -I/System/Library/Frameworks/Python.framework/Headers -I/usr/local/include -I/usr/local/include/opencv -I/usr/local/include -I/Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package -I/Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras -I/Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core -I/Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/sdopencv -I/usr/local/lib/python2.7/site-packages/numpy/core/include/numpy -I/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c package/extras/core/ndarray.cpp -o build/temp.macosx-10.8-x86_64-2.7/package/extras/core/ndarray.o -O3 -DNDEBUG clang: warning: argument unused during compilation: '-dynamiclib' In file included from package/extras/core/ndarray.cpp:16: In file included from /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:15: In file included from /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:17: In file included from /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1728: /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/npy_deprecated_api.h:11:2: warning: "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings] #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" ^ In file included from package/extras/core/ndarray.cpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/ndarray.hpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/opencv_headers.hpp:9: /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/sdopencv/sdcxmat.hpp:58:13: error: redefinition of 'Mat' inline Mat::Mat() ^ /usr/local/include/opencv2/core/mat.hpp:67:13: note: previous definition is here inline Mat::Mat() : size(&rows) ^ In file included from package/extras/core/ndarray.cpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/ndarray.hpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/opencv_headers.hpp:9: /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/sdopencv/sdcxmat.hpp:59:35: warning: field 'step' will be initialized after field 'data' [-Wreorder] : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0) {} ^ /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/sdopencv/sdcxmat.hpp:58:13: error: constructor for 'cv::Mat' must explicitly initialize the member 'size' which does not have a default constructor inline Mat::Mat() ^ /usr/local/include/opencv2/core/core.hpp:1976:11: note: member is declared here MSize size; ^ /usr/local/include/opencv2/core/core.hpp:1948:23: note: 'cv::Mat::MSize' declared here struct CV_EXPORTS MSize ^ In file included from package/extras/core/ndarray.cpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/ndarray.hpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/opencv_headers.hpp:9: /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/sdopencv/sdcxmat.hpp:61:13: error: redefinition of 'Mat' inline Mat::Mat(int _rows, int _cols, int _type) ^ /usr/local/include/opencv2/core/mat.hpp:72:13: note: previous definition is here inline Mat::Mat(int _rows, int _cols, int _type) : size(&rows) ^ In file included from package/extras/core/ndarray.cpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/ndarray.hpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/opencv_headers.hpp:9: /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/sdopencv/sdcxmat.hpp:62:35: warning: field 'step' will be initialized after field 'data' [-Wreorder] : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0) ^ /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/sdopencv/sdcxmat.hpp:61:13: error: constructor for 'cv::Mat' must explicitly initialize the member 'size' which does not have a default constructor inline Mat::Mat(int _rows, int _cols, int _type) ^ /usr/local/include/opencv2/core/core.hpp:1976:11: note: member is declared here MSize size; ^ /usr/local/include/opencv2/core/core.hpp:1948:23: note: 'cv::Mat::MSize' declared here struct CV_EXPORTS MSize ^ In file included from package/extras/core/ndarray.cpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/ndarray.hpp:18: In file included from /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/core/opencv_headers.hpp:9: /Users/andrewcopp/Developer/backend/vendor/venv/build/pyopencv/package/extras/sdopencv/sdcxmat.hpp:68:13: error: redefinition of 'Mat' inline Mat::Mat(int _rows, int _cols, int _type, const Scalar& _s) ^ /usr/local/include/opencv2/core/mat.hpp:78:13: note: previous definition is here inline Mat::Mat(int _rows, int _cols, int _type, const Scalar& _s) : size(&rows) ^ In file included