文章

v4l2-ctl 交叉编译但实机无用

我已经试过了, 在android上没有用🤡(我想用adb直接在native调用摄像头拍照)

v4l2-ctl 交叉编译但实机无用

下载工程, 文末有编译结果, 参考了一篇知乎文章

赘述

本项目拉取v4l2的官方仓库v4l2-utils并做了一下删改:

删除大部分代码但保留

  • \v4l-utils\utils
  • \v4l-utils\include

增加

  • 一些头文件(借助AI生成), 详细请自行对比查看官方仓库

不想直接使用我的编译结果? 请自行环境配置要求+[交叉编译]

交叉编译

使用WIN + R 启动cmd命令行 转到build目录

1
cd C:\path\to\v4l-utils\utils\v4l2-ctl\build

转为wsl

1
wsl

顺便说一下我的NDK变量, 没有就需要你自行下载1 执行

1
2
3
4
5
6
cmake .. \
  -DCMAKE_TOOLCHAIN_FILE="$NDK/build/cmake/android.toolchain.cmake" \
  -DANDROID_ABI=arm64-v8a \
  -DANDROID_PLATFORM=android-35 \
  -DANDROID_STL=c++_static \
  -DCMAKE_BUILD_TYPE=Release

然后执行

1
make -j$(nproc)

编译结果

怕你没配置环境, 我这里把本地编译的结果打包放这里了, 信得过我就用 下载编译结果

环境配置

  • 需要代理
  • wsl使用ubuntu22.04
  • ubuntu安装cmake,git ,make
  • 配置NDK1
本文由作者按照 CC BY 4.0 进行授权