【发布时间】:2015-04-16 05:35:27
【问题描述】:
我想在 Android 上使用 Chipmunk2D。
在示例Chipmunk2D/android/Android.mk 中,他们谈到了使用 CMake 为 Android 构建 Chipmunk2d。根据添加此文件时提交的评论建议,我使用 Android-CMake 构建一个静态库,然后将其链接到我的 Android 项目中。
我这样调用它:
cd Chipmunk2D/
cmake -DCMAKE_TOOLCHAIN_FILE=../android-cmake/android.toolchain.cmake \
-DANDROID_NDK=~/ndk \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_ABI="armeabi" .
cmake --build .
其中 Chipmunk2D 是包含 Chipmunk2D 项目的文件夹,android-cmake 包含 Android-CMake,~/ndk 是指向 android-ndk-r10 的符号链接。
似乎生成的 .a 不是为 Android 编译的,而是为我的本地主机编译的,因为:
- 为我的主机编译并尝试为 Android 编译后,CMake 什么都不做,即认为目标已完成。
- 当为 Android ld 链接时抱怨“没有存档符号表(运行 ranlib)”并且对 Chipmunk2D 函数的未定义引用存在错误。
我目前的解决方案是编写一个与此类似的 Android.mk:https://gist.github.com/kristianlm/2628615(警告,这是过时的)。但后来我正在重新发明如何构建 Chipmunk2D,我可能会遗漏项目作者的一些构建配置。
如何使用 CMake 为 Android 构建 Chipmunk2D?
【问题讨论】:
标签: android android-ndk cmake chipmunk