C++工程(五):CMake+NDK交叉编译
Android-NDK: 安卓-原生开发工具包
- 写一个Hello World
#include <iostream>
using namespace std;
int main(int argc, const char *argv[]) {
for(int i=0; i<5; i++) {
std::cout << "Hello: " << i << std::endl;
}
}
- android_ndk_build.sh编译脚本
#/bin/bash
export ANDROID_NDK=/PATH/TO/ANDROID-NDK/android-ndk-r25c/
rm -rf build
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
-DANDROID_ABI="arm64-v8a" \
-DANDROID_NDK=$ANDROID_NDK \
-DANDROID_PLATFORM=android-22 \
../
make
#make && make install
cd ..
-
移动端运行
- 将生成的可执行文件push至
/data/local/tmp
目录:adb push <exe_file> /data/local/tmp/test
chmod +x <exe_file>
赋予可执行权限- 运行结果如下:
- 将生成的可执行文件push至
参考:https://blog.csdn.net/qq_38410730/article/details/103622813
Android NDK + OpenCV: https://stackoverflow.com/questions/54967251/how-can-i-integrate-opencv-4-0-into-a-pure-c-android-ndk-project
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人