Кросс-компиляция OpenCV с CMake для Pandaboard Ubuntu
Я написал (на хосте Ubuntu) простое приложение OpenCV (открывающее видеопоток из Logitech Webcam Pro 9000) в Qt Creator. После исправления проблем (CMake не нашел его) с ffmepeg, x264, gstreamer и т. Д. (См. http://www.ozbotz.org/opencv-installation/) приложение работает.
Теперь я хочу кросс-компилировать OpenCV с CMake для Pandaboard (Ubuntu), чтобы использовать его в сочетании с кросс-скомпилированным приложением Qt (как на хосте). После нажатия кнопки конфигурации я получаю этот вывод. http://depositfiles.com/files/se4r3bhrh
Помимо проблемы, я не знаю точно, как написать "файл инструментария для кросс-компиляции" и / или "Указать параметры для кросс-компиляции" в CMake, я боюсь исправить проблемы с ffmpeg и т. Д. (как на хозяине)? У меня есть хороший HOWTO (от ozbotz) для хоста, но как справиться с этим для кросс-компиляции для Pandaboard?
У кого-нибудь есть опыт / идеи с этими проблемами?
1 ответ
Чтобы выполнить кросс-компиляцию Opencv для pandaboard с помощью хоста ubuntu pc, выполните следующие действия:
Установите инструменты кросс-компиляции В Ubuntu вы можете просто сделать это, введя в терминал следующее:
sudo apt-get install gcc-arm-linux-gnueabihf
Получить исходный код opencv и подготовиться к сборке
mkdir opencv
cd opencv
git clone https://github.com/Itseez/opencv.git
cd opencv-master
mkdir build
cd buildОтредактируйте переменные Cmake, чтобы он использовал кросс-компилятор.
gedit ../platforms/linux/arm-gnueabi.toolchain.cmake
добавьте эти строки в соответствующее место в файле:set( CMAKE_C_COMPILER gcc-arm-linux-gnueabihf)
set( CMAKE_CXX_COMPILER g++-arm-linux-gnueabihf)
Установите дополнительные C_FLAGS, если вам нужно:set(CMAKE_C_FLAGS "-mcpu=cortex-a8 -O3 -mfloat-abi=hard -ftree-vectorize -ftree-vectorizer-verbose=9" CACHE STRING "c flags")
Запустите cmake:
cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ../
make