有人在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进行构建,但它还没有解决问题.
有任何想法吗?
我坚持以下情况.我的应用程序中有一项服务.该活动以startService()启动它,以防止它在将来关闭unbind.使用bindService()绑定到服务,然后使用unbindService()解除绑定.所有这一切正常并且符合预期:调用onBind/onUnbind并且服务仍在运行.但是当我再次从这个或另一个活动调用bindService()时,我有另一个行为:onBind和onRebind都没有被调用,但onServiceConnected()仍然被调用,我获得了在onBind()中返回的IBinder实现.有任何想法吗?Thx提前!