Skip to main content
OpenCV is designed to be cross-platform and runs on a wide variety of operating systems and architectures. This page provides an overview of supported platforms and their requirements.

Supported Platforms

OpenCV supports the following major platforms:

Linux

Native support for x86, x86_64, ARM, and other architectures

Windows

Full support via Visual Studio and MinGW toolchains

macOS

Universal binaries for Intel and Apple Silicon

Android

AAR packages and NDK integration

iOS

XCFramework with Objective-C and Swift support

Architecture Support Matrix

OpenCV supports a wide range of processor architectures across different platforms:
PlatformArchitecturesBuild System
Linuxx86, x86_64, ARM (v7, v8), RISC-V, PowerPC, MIPSCMake + Make/Ninja
Windowsx86, x86_64, ARM64CMake + Visual Studio/Ninja
macOSx86_64, arm64 (Apple Silicon)CMake + Xcode
Androidarmeabi-v7a, arm64-v8a, x86, x86_64CMake + Gradle/NDK
iOSarmv7, arm64, i386, x86_64 (simulator)CMake + Xcode

Minimum Requirements

Build Tools

  • GCC 5.x+ or Clang 3.4+
  • CMake 3.5.1+
  • Make or Ninja
  • Git (optional)

Runtime Requirements

Minimum OS versions for running OpenCV applications:
  • Linux: Kernel 2.6.32+ (older kernels may work with reduced functionality)
  • Windows: Windows 7 SP1 or later
  • macOS: macOS 10.12 (Sierra) or later
  • Android: API Level 21 (Android 5.0 Lollipop) or later
  • iOS: iOS 9.0 or later

Cross-Compilation Support

OpenCV provides toolchain files for cross-compilation:
# ARM Linux cross-compilation example
cmake -DCMAKE_TOOLCHAIN_FILE=platforms/linux/arm-gnueabi.toolchain.cmake \
      -DCMAKE_BUILD_TYPE=Release \
      ..

Available Toolchains

The platforms/ directory contains toolchain files for:
  • ARM: arm-gnueabi.toolchain.cmake, aarch64-gnu.toolchain.cmake
  • RISC-V: riscv64-gcc.toolchain.cmake, riscv64-clang.toolchain.cmake
  • MIPS: mips32r5el-gnu.toolchain.cmake, mips64r6el-gnu.toolchain.cmake
  • PowerPC: ppc64-gnu.toolchain.cmake, ppc64le-gnu.toolchain.cmake

Hardware Acceleration

OpenCV leverages platform-specific acceleration technologies:
PlatformAcceleration Technologies
All PlatformsSSE2/3/4, AVX, AVX2, AVX-512, NEON
LinuxOpenCL, CUDA, TBB, OpenMP, VA-API
WindowsOpenCL, CUDA, TBB, OpenMP, DirectX
macOSOpenCL, TBB, Accelerate Framework
AndroidOpenCL, Vulkan, NNAPI, FastCV (Qualcomm)
iOSAccelerate Framework, Metal, Core ML
GPU acceleration (CUDA, OpenCL) requires compatible hardware and additional setup. Not all modules support all acceleration technologies.

Binary Distributions

Pre-built binaries are available for common configurations:
  • Windows: Installer packages for Visual Studio 2015-2022 (x86, x64)
  • Android: AAR packages via Maven Central
  • iOS: Pre-built frameworks available in releases
  • Python: pip install opencv-python for major platforms
Building from source gives you more control over enabled features and optimizations for your specific hardware.

Platform-Specific Considerations

Mobile Platforms

For iOS and Android:
  • Framework/AAR sizes can be large (~50-100MB). Consider using modular builds to reduce size.
  • Some modules are not available on mobile (e.g., highgui video capture)
  • Use --without flag when building to exclude unnecessary modules

Embedded Systems

For resource-constrained embedded Linux systems:
# Minimal build for embedded systems
cmake -DBUILD_SHARED_LIBS=OFF \
      -DBUILD_TESTS=OFF \
      -DBUILD_PERF_TESTS=OFF \
      -DBUILD_EXAMPLES=OFF \
      -DWITH_GTK=OFF \
      -DWITH_QT=OFF \
      ..

Getting Started

Select your platform to view detailed installation and build instructions:

Linux Installation

Windows Installation

macOS Installation

Android Development

iOS Development

Additional Resources