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> 赋予可执行权限
    • 运行结果如下:

参考:https://blog.csdn.net/qq_38410730/article/details/103622813

posted @ 2024-03-14 09:00  达可奈特  阅读(59)  评论(0编辑  收藏  举报