gpt4 book ai didi

android - 如何在 Android NDK 中使用 Asio(独立于 Boost)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:11:51 30 4
gpt4 key购买 nike

Asio(没有 Boost)应该只与标题一起使用,对吗?

By default, Asio is a header-only library. (http://think-async.com)

我知道 Asio 在内部仍然依赖于 Boost。

这是我的设置。

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := gatelib
LOCAL_SRC_FILES := gatelib.cpp
LOCAL_C_INCLUDES += /cygdrive/l/asio-1.5.3/include
LOCAL_C_INCLUDES += /cygdrive/l/boost/boost_1_49_0

include $(BUILD_SHARED_LIBRARY)

Application.mk

APP_STL := stlport_static
APP_CFLAGS += -DBOOST_DATE_TIME_NO_LIB -DBOOST_REGEX_NO_LIB

gatelib.cpp

#include <jni.h>
#include <asio.hpp>

#ifdef __cplusplus
extern "C"
{
#endif
// rest of code ...

#ifdef __cplusplus
}
#endif

构建脚本

@echo on

@set BASHPATH="L:\cygwin\bin\bash"
@set PROJECTDIR="/cygdrive/l/AsioAndroid/AsioDemo"
@set NDKDIR="/cygdrive/l/android-ndk-r8c/ndk-build"

%BASHPATH% --login -c "cd %PROJECTDIR% && %NDKDIR%

@pause:

输出

http://pastebin.com/XiJjvNmp

基本上,我想要实现的目标是让 Asio 在 Android 上运行(通过 NDK)。是的,只是 Asio 本身,而不是 Boost 中包含的 Asio。问题出现在输出中。我一点头绪都没有..

附言。没有 Asio 标签,所以我想现在必须使用 Boost-Asio 标签。

最佳答案

这是我所做的。

Application.mk

APP_STL := gnustl_static
APP_CFLAGS += -DBOOST_DATE_TIME_NO_LIB -DBOOST_REGEX_NO_LIB
APP_CPPFLAGS += -fexceptions

线索和提示遍布 Stack Overflow。一旦拼凑起来,它就起作用了!

关于android - 如何在 Android NDK 中使用 Asio(独立于 Boost)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14135636/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com