【OpenHW12】rainysky陪你一起在zedboard上移植qt+opencv(六):在zedboard上运行Opencv
在这里和pc不太一样了,需要设置编译环境,在opencv-2.4.4下面新建一个文件,文件名为toolchain.cmake,里面的内容为:
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-g++)
进入build文件里面,输入一下命令进行配置:cmake -D CMAKE_TOOLCHAIN_FILE=toolchain.cmake -D CMAKE_INSTALL_PREFIX=/opt/zedboard/opencv_zed/Opencv-2.4.3_2/install ../
其中CMAKE_INSTALL_PREFIX,代表的是安装的路径,最好是新建一个新文件夹好保存,另外需要注意的是,最后的是 ../ 小心不要少敲一个点,否则会错的哦。
ccmake ./ 进行配置,配置的内容是所有的以WITH开头的选项全部选成OFF,(除了WITH_V4L 选为ON)因为这些需要第三方库支持的,要是选择这些的话就需要安装第三方库了。
按c配置,按g生成并保存
按c进行配置的时候 有这样的问题
CMake Warning (dev) at cmake/OpenCVModule.cmake:667 (get_target_property):
Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
interface. Run "cmake --help-policy CMP0022" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
Target "opencv_highgui" has an INTERFACE_LINK_LIBRARIES property which
differs from its LINK_INTERFACE_LIBRARIES properties.
INTERFACE_LINK_LIBRARIES:
opencv_core;opencv_imgproc;dl;m;pthread;rt
LINK_INTERFACE_LIBRARIES:
Call Stack (most recent call first):
modules/highgui/CMakeLists.txt:280 (ocv_add_accuracy_tests)
This warning is for project developers. Use -Wno-dev to suppress it.
如果我build opencv highgui 选择为on就 报错像上面所示
如果我将这一项选择为off 就可以完成配置
我是这样解决这个问题的!!!
camke用法是
用法
cmake [选项] <源码路径>
cmake [选项] <现有构建路径>
所以我加上了
-Wno-dev
: 抑制开发者警告。
抑制那些为CMakeLists.txt文件的作者准备的警告信息。
cmake -D CMAKE_TOOLCHAIN_FILE=toolchain.cmake -D CMAKE_INSTALL_PREFIX=/opt/zedboard/opencv_zed/Opencv-2.4.3_2/install ../
改为::cmake -Wno-dev -D CMAKE_TOOLCHAIN_FILE=toolchain.cmake -D CMAKE_INSTALL_PREFIX=/opt/zedboard/opencv_zed/OpenCV-2.4.3_2/install/ ../
这样就可以继续了