2015-07-26 2 views
0

Я создал встроенный код Python, из которого вызывается функция C++ из Python. Я создал setup.py следующим образом.Как добавить библиотеки opencv в setup.py?

from distutils.core import setup,Extension 

extension_mod=Extension('getGender',['getGender.cpp'],library_dirs=['/usr/local/include/opencv2/contrib','/usr/local/include/opencv2/core','/usr/local/include/opencv2/highgui','/usr/local/include/opencv2/imgproc','/usr/local/include']) 

setup(name='getGender',ext_modules=[extension_mod]) 

Но я получаю эту ошибку.

ImportError: /usr/local/lib/python2.7/dist-packages/getGender.so: undefined symbol: _ZN2cv3Mat10deallocateEv 

Как я могу ссылаться на эти библиотеки opencv в моей setup.py? Пожалуйста посоветуй.

+0

Это работает в моем случае, и это может быть одним из решений таких проблем. [Здесь] (http://stackoverflow.com/questions/18423512/calling-c-code -from-python-using-cython-whith-the-distutilis-approach) – luohao

ответ

0

Вы можете решить эту проблему, выбрав /usr/lib64/pkgconfig и изменив свой opencv.pc, чтобы иметь все библиотеки. Вы также можете переместить плагины с /usr/lib/gstreamer-0.xx на /usr/lib64/gstreamer-0.xx

+0

У меня нет папки lib64. В usr есть папка lib, внутри которой нет opencv.pc. Пожалуйста, помогите – mayooran

+0

. Opencv.pc находится в usr/local/lib/pkgconfig. Что мне там делать? – mayooran

Смежные вопросы