opencv2.4.13.6 编译
关于opencv 的编译,网上有一大堆的帖子,但是我根据大部分的帖子的编译步骤,发现编译出来的动态库包含…/…/lib/ 的路径,导致应用程序只能放到特定的路径才能执行,为了解决这个问题,折腾了半天,下面记录下解决问题的步骤。
1,在opencv 源码的顶层目录创建 build 文件夹
2,在build 目录创建toolchain.cmak,
并且输入内容:
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_SYSTEM_PROCESSOR arm )
set( CMAKE_C_COMPILER /usr/local/linaro-aarch64-2018.08-gcc8.2/bin/aarch64-linux-gnu-gcc )
set( CMAKE_CXX_COMPILER /usr/local/linaro-aarch64-2018.08-gcc8.2/bin/aarch64-linux-gnu-c++ )
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_CXX_FLAGS -fPIC)
set(CMAKE_C_FLAGS -fPIC)
注:上面这几个选项比不可少,否则编译会出错误。
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM 设置NEVER 可以去掉 生成库中的 …/…/lib 路径。
3.命令行执行命令:
cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake …/opencv-2.4.13.6
在执行该命令时,会报错,找不到关于CUDA