MonoDroid新手在这里
我想在MonoDroid下编写的Android应用程序中使用静态c ++库(它是静态的,因为我想稍后将它移植到MonoTouch)。我在Windows下使用MonoDevelop,找不到解释如何编译和链接这样一个库的教程。我现在正尝试使用SWIG工具包将PInvoke绑定到MonoDroid,并且需要知道例如我应该将哪个编译器用于c ++库,我应该在哪里部署生成的lib文件,以便MonoDroid可以使用它等。 任何人都可以指导我做一些有用的事吗?
答案 0 :(得分:1)
由于各种原因,您将无法在iOS和Android之间使用相同的.a
文件:
-fPIC
),因为它最终会在.so
中,而iOS将不具备该要求(afaik)。您需要为每个目标平台重新编译源代码。
鉴于您无论如何都需要重新编译,为Android创建.a
文件是最重要的。只需创建一个.so
。请参阅Android NDK中的docs/ANDROID-MK.html
。
您还可以查看SanityTests示例,该示例使用Android NDK ndk-build
命令生成共享库:
ndk-build
。ndk-build
调用Android.mk来生成例如libs\armeabi\libfoo.so
。.apk
。