NDK编译c++代码

步骤一:安装 NDK

首先,确保你已经下载并安装了最新版本的 Android NDK。可以从 Android 官方网站 NDK上获取最新的 NDK 发行版。

步骤二:创建 NDK 项目目录

在你选择的位置创建一个新的目录来作为你的 NDK 项目的根目录。例如,可以在你的计算机上创建一个名为 “NDK” 的目录。

步骤三:编写 C++ 代码

在根目录下创建一个名为 “jni” 的目录。在该目录下,创建你的 C++ 代码文件(例如,MyDLL.cpp)。可以使用任何文本编辑器来编写代码。

如果你希望在本地使用 NDK 编译 C++ 代码,你需要安装 g++ 或 Clang/LLVM 等 C++ 编译器工具链。

对于 GCC 工具链,你可以通过安装 GNU Compiler Collection(GCC)来获取 g++。GCC 是一个功能强大的编译器套件,支持多种编程语言,包括 C、C++、Java、Fortran 等。

对于 Clang/LLVM 工具链,你可以通过安装 Clang 来获取 C++ 编译器。Clang 是一个开源的 C/C++/Objective-C 编译器,它被设计成高性能、易于使用和可扩展的编译器。

无论你选择使用哪种工具链,确保你的环境中安装了适当的 C++ 编译器,以便在本地编译和构建 NDK 项目。

在这里插入图片描述
Android.mk文件

扫描二维码关注公众号,回复: 16970858 查看本文章
LOCAL_PATH := $(call my-dir)
export NDK_PROJECT_PATH= LOCAL_PATH/../

include $(CLEAR_VARS)

# 设置库名称
LOCAL_MODULE := MyDLL

# 添加源文件
LOCAL_SRC_FILES := MyDLL.cpp

include $(BUILD_SHARED_LIBRARY)

我这里是导出库给Unity用的 所以c++代码是

MyDLL.h

#if defined(_WIN32) || defined(_WIN64)
#define UNITY_CPP __declspec(dllexport)
#else
#define UNITY_CPP __attribute__((visibility("default")))
#endif

#ifdef __cplusplus
extern "C" {
    
    
#endif

    UNITY_CPP int add(int a, int b);

#ifdef __cplusplus
}
#endif

MyDLL.cpp

#if defined(_WIN32) || defined(_WIN64)
#define UNITY_CPP __declspec(dllexport)
#else
#define UNITY_CPP __attribute__((visibility("default")))
#endif

#ifdef __cplusplus
extern "C" {
    
    
#endif

    UNITY_CPP int add(int a, int b);

#ifdef __cplusplus
}
#endif

然后打开终端 cd到NDK目录执行ndk-build
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ok编译完成 直接复制到Unity的Plugins下

猜你喜欢

转载自blog.csdn.net/qq_25670983/article/details/131173650