Port Boost到Android

ack*_*kio 14 boost android-ndk

有人在Android上移植并使用了Boost吗?

我找到了为android(https://github.com/MysticTreeGames/Boost-for-Android)构建boost的工具,构建成功,并且我有静态提升库.但是当我想在简单的Android应用程序中使用它时:

#include <jni.h>
#include "boost/thread.hpp"

void f()
{
};
Run Code Online (Sandbox Code Playgroud)

我有很多编译错误:重新定义,未声明等等.似乎它涉及NDK标准头文件.我的Android.mk看起来像:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

TARGET_PLATFORM := android-8

LOCAL_MODULE := Boost

LOCAL_CFLAGS := -DMYSTIC -I$(LOCAL_PATH)/boost/include/ 
LOCAL_LDLIBS := -L$(LOCAL_PATH)/external/boost/lib/

LOCAL_CPPFLAGS  := -fexceptions
LOCAL_CPPFLAGS  += -frtti
LOCAL_CPPFLAGS  += -DBOOST_THREAD_LINUX
LOCAL_CPPFLAGS  += -DBOOST_HAS_PTHREADS
LOCAL_CPPFLAGS  += -D__arm__
LOCAL_CPPFLAGS  += -D_REENTRANT
LOCAL_CPPFLAGS  += -D_GLIBCXX__PTHREADS
LOCAL_CPPFLAGS  += -DBOOST_HAS_GETTIMEOFDAY

LOCAL_SRC_FILES := main.cpp

include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

此外,我尝试使用Crystax_NDK_r4和Android_NDK_r5b进行构建,但它还没有解决问题.

有任何想法吗?

ack*_*kio 6

我已经解决了这个问题.我指定了NDK的错误路径.脚本也修补了CrystaX NDK.所以现在它有效!