【发布时间】:2011-02-03 05:09:04
【问题描述】:
有人在 Android 上移植并使用过 Boost 吗?
我找到了为 android (https://github.com/MysticTreeGames/Boost-for-Android) 构建 boost 的工具,构建成功,并且我有静态 boost 库。 但是当我想在简单的 android 应用程序中使用它时:
#include <jni.h>
#include "boost/thread.hpp"
void f()
{
};
我有很多编译错误:重新定义、未声明等。似乎它与 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)
我也尝试使用 Crystax_NDK_r4 和 Android_NDK_r5b 构建,但没有解决问题。
有什么想法吗?
【问题讨论】:
-
您也应该在此处粘贴链接器错误。逐字。很少有记者有时间尝试复制您的设置,但好的错误消息将帮助读者了解正在发生的事情。
标签: boost android-ndk