zoukankan      html  css  js  c++  java
  • libuv移植到android

    编译环境是linux + ndk,你要先添加好NDK路径的环境变量,然后进入libuv目录执行以下两句完成编译。

    $ source ./android-configure $NDK gyp

    $ make -C out

    有可能android-configure里写的toolchain跟你现有的不一样,改一下即可。编译后都是.o文件,有个假的很小的libuv.a请忽略(只是个外壳),要自己将编译好的目标文件打包成静态库:

    ar rv libuv.a *.o

    以上默认的是arm版本的,要生成x86的,需要使用
    $source ./android-configure-x86 $NDK gyp

    $ make -C out
    这样的话在src/unix/fs.c下约600多行处报错,估计是因为内部宏没定义好,因此随便加个条件宏跳过即可。
    #elif !defined(_AIX) &&
    (defined(_BSD_SOURCE) || defined(_SVID_SOURCE) || defined(_XOPEN_SOURCE)) && defined(FUCK_YOU)
    dst->st_atim.tv_sec = src->st_atim.tv_sec;
    dst->st_atim.tv_nsec = src->st_atim.tv_nsec;
    dst->st_mtim.tv_sec = src->st_mtim.tv_sec;
    dst->st_mtim.tv_nsec = src->st_mtim.tv_nsec;
    dst->st_ctim.tv_sec = src->st_ctim.tv_sec;
    dst->st_ctim.tv_nsec = src->st_ctim.tv_nsec;

    在其他几个测试文件中也有类似的问题,直接不用管,因为我们需要的库部分已经编译完了。

  • 相关阅读:
    lintcode 中等题:interleaving String 交叉字符串
    lintcode 中等题:subsets II 带重复元素的子集
    lintcode 中等题:subSets 子集
    单机安装HBase
    编写运行R脚本
    R语言归一化处理
    HBase 常用Shell命令
    HBase基础知识
    Tomcat启动脚本
    Nginx配置文件详解
  • 原文地址:https://www.cnblogs.com/guoxiaoqian/p/3945034.html
Copyright © 2011-2022 走看看