OpenCV кросс-компиляция для ARM: ошибка highgui (GTK2+)
У меня есть сборка библиотеки OpenCV из исходного кода для Zynq (ARM). Но OpenCV был построен на том же ПК для x86 (ПК). Во-первых, я могу выполнить каждый пример на моем компьютере без каких-либо проблем. Во-вторых, я могу кросс-компилировать и выполнять все программы на целевой руке, кроме тех, которые включают библиотеки высокого уровня, где я получаю следующую ошибку:
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvShowImage, file /home/hristov/workspace/opencv/modules/highgui/src/window.cpp, line 534
terminate called after throwing an instance of 'cv::Exception'
what(): /home/user/workspace/opencv/modules/highgui/src/window.cpp:534: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage
Да, я прошел форум для решения этой проблемы, но некоторые ответы были неясны, и я хотел бы получить более подробную информацию в этом. Я создал сборку OpenCV для сборки ARM WITH_GTK и GTK2. Также установлены libgtk2.0-dev, pkg-config
Однако из другой темы на этом форуме я узнал, что проблема заключается в настройке pkg-config: http://answers.opencv.org/question/57945/opencv-gui-with-gtk-2-solved/
Q) Основываясь на приведенном выше решении, задаете ли вы путь для PKG_CONFIG_PATH на вашей платформе ARM (Zynq) или на платформе ПК (Ubuntu PC)? Потому что он уже настроен на описанный путь на платформе ARM, тогда как на платформе PC Linux он отличается. Более подробная информация о текущем пути показана ниже:
PKG_CONFIG_PATH in PC(Ubuntu):
/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
PKG_CONFIG_PATH in ARM (Embedded platform):
/usr/local/lib/arm-linux-gnueabihf/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/arm-linux-gnueabihf/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
Если на моем ПК нужно изменить конфигурацию pkg на каталог /usr/lib/arm-linux-gnueabihf/pkgconfig/, я не могу найти конфигурацию pkg в этом месте. Должен ли я создать новый, скопировав папку из моей цели?
Q) Кроме того, библиотеки GTK также должны быть установлены в Target Embedded System (ARM)?
Надеюсь, что кто-то может помочь мне с этим решением, так как я много раз перестраивал библиотеки, используя множество разных решений, но безрезультатно. Спасибо!