2011-10-05 15:47:39 原文链接

Application.mk

APP_OPTIM := release APP_PLATFORM := android-8 APP_STL := gnustl_static APP_CPPFLAGS += -frtti -fexceptions APP_ABI := armeabi APP_MODULES := IceE

Android.mk

# # Compile with support for the Ice router facility. # HAS_ROUTER := yes # # Compile with support for the Ice locator facility. # HAS_LOCATOR := no # # Compile with support for batch invocations. # HAS_BATCH := no # # Compile with support for wstring and string conversion. # HAS_WSTRING := no # # Compile with support for opaque endpoints. # HAS_OPAQUE_ENDPOINTS := no # # Compile with support for asynchronous method invocation (AMI). # HAS_AMI := no # # Default Mutex protocol: one of PrioNone or PrioInherit. # DEFAULT_MUTEX_PROTOCOL := PrioNone LOCAL_PATH := $(call my-dir) SLICE_DIR := slice/IceE $(shell $(LOCAL_PATH)/../cpp/bin/slice2cppe --ice -Islice --include-dir IceE --dll-export ICE_API --output-dir $(SLICE_DIR) $(SLICE_DIR)/*.ice) $(shell rm -f $(SLICE_DIR)/*F.cpp) $(shell mv $(SLICE_DIR)/*.h $(LOCAL_PATH)/../cppe/include/IceE) $(shell mv $(SLICE_DIR)/*.cpp $(LOCAL_PATH)/../cppe/src/IceE) $(shell $(LOCAL_PATH)/../cppe/config/features.sh $(LOCAL_PATH)/../cppe/include/IceE/Features.h \ HAS_ROUTER=$(HAS_ROUTER) \ HAS_LOCATOR=$(HAS_LOCATOR) \ HAS_BATCH=$(HAS_BATCH) \ HAS_WSTRING=$(HAS_WSTRING) \ HAS_OPAQUE_ENDPOINTS=$(HAS_OPAQUE_ENDPOINTS) \ HAS_AMI=$(HAS_AMI) \ DEFAULT_MUTEX_PROTOCOL=$(DEFAULT_MUTEX_PROTOCOL)) include $(CLEAR_VARS) GLOBAL_C_INCLUDES := $(LOCAL_PATH)/../cppe/include $(LOCAL_PATH)/../cppe/src $(LOCAL_PATH)/../cppe/src/TcpTransport TRANSPORT_DIR := ../cppe/src/TcpTransport ICE_DIR := ../cppe/src/IceE TRANSPORT_SRCS := \ $(TRANSPORT_DIR)/Acceptor.cpp \ $(TRANSPORT_DIR)/Connector.cpp \ $(TRANSPORT_DIR)/EndpointFactory.cpp \ $(TRANSPORT_DIR)/TcpEndpoint.cpp \ $(TRANSPORT_DIR)/Transceiver.cpp ICE_SRCS := \ $(ICE_DIR)/Base64.cpp \ $(ICE_DIR)/BasicStream.cpp \ $(ICE_DIR)/Buffer.cpp \ $(ICE_DIR)/BuiltinSequences.cpp \ $(ICE_DIR)/Communicator.cpp \ $(ICE_DIR)/Cond.cpp \ $(ICE_DIR)/ConnectionI.cpp \ $(ICE_DIR)/ConnectRequestHandler.cpp \ $(ICE_DIR)/RequestHandler.cpp \ $(ICE_DIR)/ConvertUTF.cpp \ $(ICE_DIR)/Current.cpp \ $(ICE_DIR)/DefaultsAndOverrides.cpp \ $(ICE_DIR)/DispatchInterceptor.cpp \ $(ICE_DIR)/Endpoint.cpp \ $(ICE_DIR)/EventHandler.cpp \ $(ICE_DIR)/ExceptionBase.cpp \ $(ICE_DIR)/FactoryTable.cpp \ $(ICE_DIR)/FactoryTableDef.cpp \ $(ICE_DIR)/Identity.cpp \ $(ICE_DIR)/Incoming.cpp \ $(ICE_DIR)/IncomingConnectionFactory.cpp \ $(ICE_DIR)/Initialize.cpp \ $(ICE_DIR)/Instance.cpp \ $(ICE_DIR)/LocalException.cpp \ $(ICE_DIR)/Locator.cpp \ $(ICE_DIR)/LocatorInfo.cpp \ $(ICE_DIR)/Logger.cpp \ $(ICE_DIR)/LoggerI.cpp \ $(ICE_DIR)/LoggerUtil.cpp \ $(ICE_DIR)/MutexProtocol.cpp \ $(ICE_DIR)/Network.cpp \ $(ICE_DIR)/Object.cpp \ $(ICE_DIR)/ObjectAdapter.cpp \ $(ICE_DIR)/ObjectAdapterFactory.cpp \ $(ICE_DIR)/ObjectFactoryManager.cpp \ $(ICE_DIR)/ObjectFactoryManagerI.cpp \ $(ICE_DIR)/OperationMode.cpp \ $(ICE_DIR)/Outgoing.cpp \ $(ICE_DIR)/OutgoingAsync.cpp \ $(ICE_DIR)/OutgoingConnectionFactory.cpp \ $(ICE_DIR)/Properties.cpp \ $(ICE_DIR)/Protocol.cpp \ $(ICE_DIR)/Proxy.cpp \ $(ICE_DIR)/ProxyFactory.cpp \ $(ICE_DIR)/Random.cpp \ $(ICE_DIR)/RecMutex.cpp \ $(ICE_DIR)/Reference.cpp \ $(ICE_DIR)/ReferenceFactory.cpp \ $(ICE_DIR)/RetryQueue.cpp \ $(ICE_DIR)/Router.cpp \ $(ICE_DIR)/RouterInfo.cpp \ $(ICE_DIR)/SafeStdio.cpp \ $(ICE_DIR)/SelectorThread.cpp \ $(ICE_DIR)/ServantManager.cpp \ $(ICE_DIR)/Shared.cpp \ $(ICE_DIR)/StringConverter.cpp \ $(ICE_DIR)/StringUtil.cpp \ $(ICE_DIR)/Thread.cpp \ $(ICE_DIR)/ThreadException.cpp \ $(ICE_DIR)/ThreadPool.cpp \ $(ICE_DIR)/Time.cpp \ $(ICE_DIR)/Timer.cpp \ $(ICE_DIR)/TraceLevels.cpp \ $(ICE_DIR)/TraceUtil.cpp \ $(ICE_DIR)/UnknownEndpoint.cpp \ $(ICE_DIR)/Unicode.cpp \ $(ICE_DIR)/UUID.cpp LOCAL_SRC_FILES := $(TRANSPORT_SRCS) $(ICE_SRCS) LOCAL_MODULE := IceE GLOBAL_CFLAGS := -DICE_API_EXPORTS -D_REENTRANT -DNDEBUG \ -DPAGE_SIZE=0x400 -ftemplate-depth-128 -Wall -Os \ -fdata-sections -ffunction-sections -isystem $(SYSROOT)/usr/include/ LOCAL_CFLAGS := $(GLOBAL_CFLAGS) LOCAL_C_INCLUDES := $(GLOBAL_C_INCLUDES) include $(BUILD_STATIC_LIBRARY)

You must also modify Thread.cpp:

from

throw ThreadSyscallException(__FILE__, __LINE__, rc); } pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED); } rc = pthread_create(&_thread, &attr, startHook, this);
TO:

throw ThreadSyscallException(__FILE__, __LINE__, rc); } #ifndef ANDROID pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED); #endif } rc = pthread_create(&_thread, &attr, startHook, this);

All features work, except wstring support.

Compile IceE under Android NDK相关推荐

  1. android ndk r8d,(Android) NDK

    從 Android NDK | Android Developers 下载 Android NDK (我在 Ubuntu 所以下载 android-ndk-r5c-linux-x86.tar.bz2) ...

  2. 【错误记录】Android NDK 编译报错 ( no known conversion from ‘unsigned char *‘ to ‘const char *‘ )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Visual Studio 2019 中编译 Android NDK , 构建方式参考 [Android 逆向]Android 进程注入工具开发 ...

  3. 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )

    文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...

  4. android ndk 界面开发教程,Android NDK开发之入门教程

    JNI(Java Native Interface, Java本地化方法)使得Java能与其它语言(如C.C++)的动态库进行交互. 在Android 项目中,经常看到地图,统计,推送之类的第三方平台 ...

  5. Android NDK学习笔记(转)

    前言 Android系统中的应用程序都是用Java开发的.Android NDK使我们能够在android上使用C/C++开发的原生代码.有两个理由使用NDK: 一是合理的重用现有的代码:二是在程序中 ...

  6. 今天终于将第一个 Android NDK 程序编译、运行成功

    今天终于将第一个 NDK 程序编译.运行成功. 起先看资料和书籍时,都要求安装 CygWin.我也安装了,并将 Sample: hello-jni 编译成功.编译的 LOG 如下:  LeoZheng ...

  7. Mastering Android NDK Build System - Part 2: Standalone toolchain

    This is the part 2 of "Mastering NDK" article. In the previous part (part 1), we have intr ...

  8. Mastering Android NDK Build System - Part 1: Techniques with ndk-build

    This article is not a "Hello world!"-type tutorial for NDK. Although I will still provide ...

  9. 使用LeakTracer检测android NDK C/C++代码中的memory leak

    Memory issue是C/C++开发中比较常遇到,经常带给人比较大困扰,debug起来又常常让人无从下手的一类问题,memory issue主要又分为memory leak,野指针,及其它非法访问 ...

最新文章

  1. python pandas DataFrame 转置
  2. atom配置python环境_Win10如何配置Python的环境变量
  3. JHipster生成微服务架构的应用栈(二)- 认证微服务示例
  4. 什么是未定义的引用/未解决的外部符号错误,如何解决?
  5. Vue Angular 双向绑定检测不到对象属性的添加和删除
  6. cdoj 秋实大哥搞算数
  7. k1075停运吗_怀化火车站(怀化火车停运最新消息)
  8. 在Windows下如何创建虚拟环境(默认情况下)
  9. hbase原理与实践_JAVA连接HBase客户端及HBase写入数据和读取数据原理解析
  10. svn上传时显示database is locked
  11. Hbase Scan类 ResultScanner类
  12. 汇编@data_macOS上的汇编入门(十三)——从编译到执行
  13. flt文件matlab,FLT文件扩展名 - 什么是.flt以及如何打开? - ReviverSoft
  14. Mongodb(芒果DB)之服务搭建
  15. 【C语言】三子棋游戏详解
  16. Java 基础知识总结—String 类
  17. 利用charles抓包
  18. 量化交易员珍藏的10本书,一般人不会教你的事
  19. 我是大海里的一页扁舟
  20. java,内存,存储

热门文章

  1. 【机房收费系统 2】:上机时间和消费金额
  2. RocketMQ 安装和启动
  3. 如何创建公网NAT网关
  4. 关于微盟商城运营策略分析
  5. BCdS一电池测试系统软件安装,鑫达能锂电池检测设备:电池充放电测试仪
  6. Cairngorm2/3 框架 烟水晶 HelloWorld 源代码案例
  7. iscc2023-misc【详解】
  8. php对接AliGenie天猫精灵服务器控制智能硬件esp8266① 在阿里云购买搭建私有云服务器,配置 SSL 证书 ,做好准备工作!
  9. 第10章第3节:使用iSlide往幻灯片快速添加智能参考线 [PowerPoint精美幻灯片实战教程]
  10. HDMI over ip 延长芯片方案