opencv自定义平台编译

1 交叉编译环境设置

以s32v234的QVSDK环境配置为例:

首先指定交叉编译器的环境变量,对于QNX,如下:
export QNX_TARGET=“path/to/your/qnx/installation/target/qnx7”
export QNX_HOST=“path/to/your/qnx/installation/host/linux/x86_64”
export PATH=“path/to/your/qnx/installation/host/linux/x86_64/usr/bin:$PATH”

一个可能的实现:

test "$BASH_SOURCE" = "" && echo "This script only can be run from bash" && return
SCRIPT_SOURCE=$BASH_SOURCE
test "$SCRIPT_SOURCE" = "$0" && echo "Script is being run, should be sourced" && exit 1

HOST_OS=$(uname -s)
SCRIPT_DIR=$(dirname "${SCRIPT_SOURCE}")
QNX_BASE=$(cd "${SCRIPT_DIR}"; pwd)

# ARM Compiler
PATH=$PATH:$QNX_BASE/gcc-arm-none-eabi-7-2017-q4-major:$QNX_BASE/gcc-arm-none-eabi-7-2017-q4-major/bin

# APU Compiler
export APU_TOOLS=$QNX_BASE/APU_Compiler_v1.0

# QNX Compiler
QNX_HOST=$QNX_BASE/qnx-host
QNX_TARGET=$QNX_BASE/qnx-target

QNX_CONFIGURATION=$HOME/.qnx
MAKEFLAGS=-I$QNX_TARGET/usr/include
PATH=$PATH:$QNX_HOST/usr/bin:$QNX_CONFIGURATION/bin:$QNX_BASE/jre/bin:$PATH

export QNX_TARGET QNX_HOST QNX_CONFIGURATION MAKEFLAGS PATH
unset PYTHONPATH

SDK_ROOT=$QNX_BASE/s32v234_sdk
export SDK_ROOT

echo QNX_HOST=$QNX_HOST
echo QNX_TARGET=$QNX_TARGET
echo MAKEFLAGS=$MAKEFLAGS

2 opencv编译选项设置

主要是设定需要对哪些模块进行编译,如下:

##############################################################################
#
#  NXP, Inc.
#  (c) Copyright 2017, NXP.
#  ALL RIGHTS RESERVED.
#
##############################################################################
#
#  CONTENT
#    Generator of OpenCV makefiles for QNX ARM cross-compilation
#
#  AUTHOR
#    Teodor Madan
#
#  DATE
#    2017-5-11
#
#  LANGUAGE
#    bash script
#
##############################################################################

#!/bin/sh

SDK_ROOT=$PWD/../../../../s32v234_sdk
OCV_ROOT=$SDK_ROOT/../opencv_src

export PKG_CONFIG_PATH=$SDK_ROOT/3rdparty/ffmpeg/qnx-arm64/lib/pkgconfig/
DEFAULT_TOOLCHAIN="/build/cmake/toolchains/aarch64-qnx-qcc.cmake"
TOOLCHAIN=$SDK_ROOT$DEFAULT_TOOLCHAIN

if [ $# -gt 0 ]
  then
  TOOLCHAIN=$1
fi

echo "Toolchain file path to be used:"
echo $TOOLCHAIN

cmake  \
  -G "Unix Makefiles" \
  -D CMAKE_INSTALL_PREFIX=$SDK_ROOT/3rdparty/ocv/qnx-arm64					\
  -D CMAKE_TOOLCHAIN_FILE=$TOOLCHAIN								\
  -D FFMPEG_LIB_DIR=$SDK_ROOT/3rdparty/ffmpeg/qnx-arm64/lib					\
  -D FFMPEG_INCLUDE_DIR=$SDK_ROOT/3rdparty/ffmpeg/qnx-arm64/include				\
  -D WITH_PYTHON=OFF 										\
  -D WITH_NEON=OFF 										\
  -D ENABLE_NEON=ON \
  -D BUILD_PERF_TESTS=OFF 									\
  -D BUILD_TESTS=OFF 										\
  -D BUILD_opencv_apps=OFF 									\
  -D CMAKE_BUILD_TYPE=RELEASE 									\
  -D BUILD_SHARED_LIBS=ON 									\
  -D WITH_TIFF=OFF                                   \
  -D WITH_PNG=ON                                   \
  -D WITH_1394=OFF                        \
  -D WITH_AVFOUNDATION=OFF                        \
  -D WITH_CARBON=OFF                        \
  -D WITH_VTK=OFF                       \
  -D WITH_CUDA=OFF                        \
  -D WITH_CUFFT=OFF                       \
  -D WITH_CUBLAS=OFF                        \
  -D WITH_NVCUVID=OFF                       \
  -D WITH_EIGEN=OFF                       \
  -D WITH_VFW=OFF                       \
  -D WITH_FFMPEG=OFF                        \
  -D WITH_GSTREAMER=OFF                       \
  -D WITH_GSTREAMER_0_10=OFF                        \
  -D WITH_GTK=OFF                       \
  -D WITH_GTK_2_X=OFF                       \
  -D WITH_IPP=OFF                       \
  -D WITH_JASPER=OFF                        \
  -D WITH_JPEG=ON                        \
  -D WITH_WEBP=OFF                        \
  -D WITH_OPENEXR=OFF                       \
  -D WITH_OPENGL=OFF                        \
  -D WITH_OPENNI=OFF                        \
  -D WITH_OPENNI2=OFF                       \
  -D WITH_PVAPI=OFF                       \
  -D WITH_GIGEAPI=OFF                       \
  -D WITH_QT=OFF                        \
  -D WITH_WIN32UI=OFF                       \
  -D WITH_QUICKTIME=OFF                       \
  -D WITH_TBB=OFF                       \
  -D WITH_OPENMP=OFF                        \
  -D WITH_CSTRIPES=OFF                        \
  -D WITH_PTHREADS_PF=OFF                       \
  -D WITH_UNICAP=OFF                        \
  -D WITH_V4L=OFF                       \
  -D WITH_LIBV4L=OFF                        \
  -D WITH_DSHOW=OFF                       \
  -D WITH_MSMF=OFF                        \
  -D WITH_XIMEA=OFF                       \
  -D WITH_XINE=OFF                        \
  -D WITH_CLP=OFF                       \
  -D WITH_OPENCL=OFF                        \
  -D WITH_OPENCL_SVM=OFF                        \
  -D WITH_OPENCLAMDFFT=OFF                        \
  -D WITH_OPENCLAMDBLAS=OFF                       \
  -D WITH_DIRECTX=OFF                       \
  -D WITH_INTELPERC=OFF                       \
  -D WITH_IPP_A=OFF                       \
  -D WITH_MATLAB=OFF                        \
  -D WITH_VA=OFF                        \
  -D WITH_VA_INTEL=OFF                        \
  -D WITH_GDAL=OFF                        \
  -D WITH_GPHOTO2=OFF                       \
   $OCV_ROOT

echo "Generating done, building....."

make install -j9

# change library filenames to hardlinks with no version number and remove any symbolic links
#bash ./sym2hard.sh ../linux-arm64/lib d

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Visual Studio 2017编译OpenCV 2.4.12 x86版本时,需要按照以下步骤进行操作: 1. 下载OpenCV 2.4.12版本:前往OpenCV官方网站(https://opencv.org/releases/)下载OpenCV 2.4.12版本的源代码。 2. 安装CMake:前往CMake官方网站(https://cmake.org/download/)下载并安装最新版本的CMake。 3. 打开CMake GUI:运行CMake GUI,选择源代码文件夹和生成文件夹。源代码文件夹即你下载的OpenCV 2.4.12源代码所在的文件夹,生成文件夹可以自定义,用于存放编译生成的文件。 4. 配置CMake:点击"Configure"按钮,在弹出的对话框中选择使用的编译器,这里选择Visual Studio 15 2017。选择完毕后,点击"Finish"。 5. 配置编译选项:在CMake配置界面中,可以配置各种编译选项。在这里,我们需要确认以下几个选项: - BUILD_opencv_world:勾选此选项,会生成一个包含所有OpenCV模块的库文件。 - CMAKE_INSTALL_PREFIX:此选项用于指定生成的文件的安装目录,这里可以设置为你喜欢的目录,比如"C:\opencv2.4.12"。 - BUILD_SHARED_LIBS:此选项用于指定是否生成动态链接库。如果选择生成静态库,需要取消此选项。 6. 点击"Generate"按钮,CMake将根据你的配置生成Visual Studio的解决方案文件。 7. 打开生成的解决方案文件:在生成的文件夹里找到OpenCV的Visual Studio解决方案文件(.sln后缀),双击打开。 8. 在Visual Studio中进行构建:在Visual Studio中加载OpenCV解决方案后,点击"生成"->"生成解决方案"或者按下快捷键"Ctrl + Shift + B"来构建OpenCV。 9. 构建成功后,你可以在"C:\opencv2.4.12"(或你自定义的安装目录)下找到生成的库文件和头文件等。 10. 配置项目:要在你的项目中使用OpenCV,需要在你的项目属性中配置一些路径设置: - 在项目属性的"C/C++"->"常规"->"附加包含目录"中添加包含OpenCV头文件的目录,比如"C:\opencv2.4.12\include"。 - 在项目属性的"链接器"->"常规"->"附加库目录"中添加包含OpenCV库文件的目录,比如"C:\opencv2.4.12\lib"。 - 在项目属性的"链接器"->"输入"->"附加依赖项"中添加OpenCV的库文件的名称,如"opencv_world2412.lib"。 以上是通过Visual Studio 2017编译OpenCV 2.4.12 x86版本所需的步骤。完成上述步骤后,你就可以在你的项目中使用OpenCV了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值