Я следовал этому уроку, Кросс-компиляция для систем Linux на основе ARM, для того, чтобы построить Opencv
версия 3.3.1 с использованием cmake
для системы Linux на основе ARM (Ubuntu Mate работает на ODROID-XU4 Mini PC). Для процесса сборки я бегу Ubuntu Mate v 16.04.1 x86
,
Обратите внимание, что я уже пытался собрать ту же версию Opencv
для меня Intel x86 Ubuntu based
запустить машину, следуя этому руководству, Установка Opencv в Linux, и я сделал это успешно. Однако при создании его для ARM на той же машине я получил следующую ошибку.
-- The CXX compiler identification is unknown
-- The C compiler identification is unknown
CMake Error at CMakeLists.txt:114 (project):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.CMake Error at CMakeLists.txt:114 (project):
No CMAKE_C_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.-- Configuring incomplete, errors occurred!
See also "/home/jhon/Programs/opencv-3.3.1/arm/CMakeFiles/CMakeOutput.log".
See also "/home/jhon/Programs/opencv-3.3.1/arm/CMakeFiles/CMakeError.log".
Вот моя командная строка, которая генерирует эту ошибку:
cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ..
Обратите внимание, что опция -DCMAKE_TOOLCHAIN_FILE
это то, что говорит cmake
собрать Opencv для систем Linux на базе ARM, и когда я попытался удалить его, я успешно закончил сборку Opencv
для моей машины x86 без ошибок.
Заранее спасибо.
Документация OpenCV говорит только для установки С кросс-компилятор (пакет gcc-arm-linux-gnueabi
), но на самом деле OpenCV требует C ++ компилятор тоже.
Так что нужно установить g++-arm-linux-gnueabi
пакет, а также.
Мне всегда было интересно, почему не существует готовых двоичных файлов для Opencv-Linux (и я до сих пор не знаю, почему), поэтому здесь я выкладываю свою работу на всеобщее обозрение, чтобы извлечь из нее выгоду, поскольку она включает в себя предварительно собранные версии Opencv 3.3.1 для Linux x86, x64 и armv7hf (включая соответствующие двоичные файлы Java).