android - 如何将新的 .cpp 文件添加到 Android 的 c++ 库中,然后构建该库?

标签 android c++ android-ndk building

我正在为 this 制作一个 Unity3d 插件Android 的 C++ 库。我通过打开库制造商提供的 visual studio 项目,用我的 API 代码向它添加一个新的 .cpp 文件并构建一个 dll,让它在 Windows 中工作。 我现在想知道如何将这个新的 .cpp 文件添加到库中并为 Android 构建它。 到目前为止,我已经在装有 ubuntu 的机器上安装了 Android sdk 和 ndk,并使用 ndk-build 成功构建了原始库(按照 these 说明) 我猜这不像将我的 .cpp 文件复制到文件夹中并构建那样简单,因为有 AndroidManifest.xml 文件等等。

最佳答案

AndroidManifest.xml 文件与 NDK 构建无关。

您需要找到合适的 Android.mk 文件。您可能需要将文件名添加到该 make 文件的 LOCAL_SRC_FILES 中,尽管他们可能已将其设置为编译目录中的所有 .cpp 文件或沿着这些行进行更智能的操作。毕竟,它是一个常规的 make 文件。

参见 here有关 Android.mk 文件细节的信息。

编辑:

我想我应该补充一点,它是 LOCAL_SRC_FILES 在您打算构建的库的相关 include $(BUILD_SHARED_LIBRARY) 之前。每个 make 文件可能包含任意数量的目标,尽管在最简单的情况下通常是一个 make 文件来构建一个库。

关于android - 如何将新的 .cpp 文件添加到 Android 的 c++ 库中,然后构建该库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21483975/

相关文章:

java - 四舍五入 - 几十

c# - 如何实现从非托管 DLL 到 .net 应用程序的回调接口(interface)?

c++ - 如何清除进程被阻止时发生的用户输入 (cin)?

c++ - 可怕的元函数 : why are they faster?

android - 无法在 Android 上将 mp4 文件与 FFmpeg 合并

java - 将 java mjpeg 流字节转换为图像

Android:如何将RelativeLayout填充到屏幕的全宽?

c++ - Visual Studio 如何将 boost::function 与/GR- 一起使用,而 GCC 不能与 -fno-rtti 一起使用?

android - 如何构建ndk应用程序?

android - 我的 Android 手指绘画应用程序将绘画发送到图像上的不规则位置