如何在Android NDK中使用Asio(独立于Boost)
How to use Asio (standalone from Boost) in Android NDK?
Asio(没有Boost)应该是可用的头只有对吗?
默认情况下,Asio是一个仅限头文件的库。(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:cygwinbinbash"
@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。在输出中提出了问题。我一点儿也不知道……
p。没有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。一旦拼凑起来,它就起作用了!
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 提升 ASIO 无法识别计时器对象
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 独立读取-修改-写入顺序
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- boost::asio如何生成多个协同程序,然后加入它们
- 缓慢提升ASIO
- 带有多个独立参数的C++For循环
- 从 Boost ASIO 获取 epoll 描述符 io_service对象
- 如何在 Boost.Asio 中使用 Zero-copy sendmsg/receive
- C++ Boost::asio串行通信与Arduino无法写入
- 如何使用 Boost Asio 在 Android 上获取我的本地 udp IP 地址?
- 提升 Asio TCP 服务器 处理多个客户端
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 提升 ASIO - io_service 不要等待连接到线程
- 执行时使用 boost::asio::d eadline_timer 时出错
- Boost.Asio/OpenSSL HTTPS GET certificate trouble
- 独立 asio async_connect不触发绑定处理程序
- 增强asio网络独立发送和接收