Boost Android的端口升级

Boost Android的端口升级,boost,android-ndk,Boost,Android Ndk,有人在Android上移植并使用了Boost吗 我找到了为android()构建boost的工具,构建成功了,我有了静态boost libs。 但当我尝试在简单的android应用程序中使用它时: #include <jni.h> #include "boost/thread.hpp" void f() { }; 我还尝试用Crystax_NDK_r4和Android_NDK_r5b构建,但没有解决问题 有什么想法吗 我已经解决了这个问题。我指定的NDK路径不正确。脚本也会修补C

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

我找到了为android()构建boost的工具,构建成功了,我有了静态boost libs。 但当我尝试在简单的android应用程序中使用它时:

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

void f()
{
};
我还尝试用Crystax_NDK_r4和Android_NDK_r5b构建,但没有解决问题


有什么想法吗

我已经解决了这个问题。我指定的NDK路径不正确。脚本也会修补CrystaX NDK。所以现在它起作用了

您可以下载一组脚本,这些脚本将下载并构建一些流行的android和ios c/c++开源库,包括位于此位置的boost


我刚刚找到了一种在android NDK下构建boost的简单方法,它不需要修补boost

我不使用Android.mk来构建boost,而是使用独立的工具链来构建,只是链接CodeSourcery的工具链

  • 首先准备NDK工具链:

    将NDK工具链作为独立工具链安装。请参见$NDK/docs/STANDALONE-TOOLCHAIN.html

    将交叉工具链的bin路径添加到路径中

  • Build boost.Build工具,在boost prj中:

    /bootstrap.sh

  • echo“使用gcc:android:arm-linux-androideabi-g++;”“>$HOME/user-config.jam

  • 构建示例

    ./b2--前缀=$HOME/mybuild--带线程--带系统工具集=gcc android线程=多链接=静态安装


  • 我希望这些可以帮助您。

    您也应该在此处粘贴链接器错误。逐字的很少有通讯员有时间尝试复制您的设置,但是好的错误消息将帮助读者了解发生了什么。
    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)