1

我在 Qt Creator 中(在 Ubuntu 主机上)编写了一个简单的 OpenCV 应用程序(从 Logitech Webcam Pro 9000 打开视频流)。在使用 ffmepeg、x264、gstreamer 等(在http://www.ozbotz.org/opencv-installation/上找到)修复问题(CMake 没有找到它)后,应用程序可以工作。

现在我想用 CMake for Pandaboard (Ubuntu) 交叉编译 OpenCV,将它与交叉编译的 Qt 应用程序结合使用(如在主机上)。按下配置按钮后,我得到了这个输出。 http://depositfiles.com/files/se4r3bhrh

除了这个问题,我不知道如何在 CMake 中编写“用于交叉编译的工具链文件”和/或“指定用于交叉编译的选项”,恐怕要解决 ffmpeg 等问题。(喜欢在主机上)?我有一个很好的主机 HOWTO(来自 ozbotz),但是如何处理它以用于 Pandaboard 的交叉编译?

有没有人有这些问题的经验/想法?

4

1 回答 1

0

要使用主机 ubuntu pc 为 pandaboard 交叉编译 Opencv,请执行以下步骤:

  • 安装交叉编译工具 在 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
      在文件的适当位置添加这些行: 如果需要,请设置附加 C_FLAGS:
      set( CMAKE_C_COMPILER gcc-arm-linux-gnueabihf)
      set( CMAKE_CXX_COMPILER g++-arm-linux-gnueabihf)


      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
于 2013-06-23T11:08:25.267 回答