win10 mars xlog编译
win10 mars xlog编译
一. 环境准备
安装 cmake 以及 python2.7, 以及下载 ndk-r16b,并配置环境变量 NDK_ROOT 指向 ndk 路径。
如果是 Windows 系统还需要安装 cygwin,并务必要安装其中的 make, gcc gdb。 然后把 cygwin 的 bin 目录配置到环境变量中的 PATH 中
- 安装cmake
https://cmake.org/download/
cmake_install.png
下载后,安装常规方式安装即可。
在安装时需要注意的是:
为所有用户添加CMake环境变量:

安装成功后打开应该是这样:

- 安装python2.7
https://www.python.org/downloads/release/python-2716/下载后双击安装包进行安装
2.1 选择是否将Python.exe添加到系统Path环境变量(也可以安装完成后手动在环境变量添加/删除Python.exe 路径)

2.2 安装后验证通过应该是这样:

- 安装 cygwin
https://cygwin.com/install.html
3.1 下载后点击setup-x86_64.exe安装,出现安装画面。直接点“下一步”,出现安装模式的对话框,如下图所示:
Cygwin1.png
我们看到有三种安装模式:
- Install from Internet,这种模式直接从Internet安装,适合网速较快的情况;
- Download Without Installing,这种模式只从网上下载Cygwin的组件包,但不安装;
- Install from Local Directory,这种模式与上面第二种模式对应,当你的Cygwin组件包已经下载到本地,则可以使用此模式从本地安装Cygwin。
在这一步,需要注意,为了获得最快的下载速度,我们首先在列表中寻找Cygwin中国镜像的地址:http://www.cygwin.cn,如果找到就选中这个地址;如果找不到这个地址,就选一个国内的镜像地址,或者使用阿里云镜像(http://mirrors.aliyun.com/cygwin/)选择完成后,点击“下一步”,

这一步,我们选择需要下载安装的组件包,为了使我们安装的Cygwin能够编译xlog,需要安装
- make
- gcc
gdb
cygwin_2.png
3.2 安装后验证
运行cygwin,在弹出的命令行窗口输入:
cygcheck -c cygwin
会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。

然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!


3.2.1 在windows命令下使用cygwin
要想在Windows命令提示符下使用Cygwin,你需要添加Cygwin到Windows环境变量。
打开命令提示符来测试软件测试几个Linux命令。
正如下面的图片里所看到的,pwd和ls在Windows命令提示符工作正常

- ndk-r16b
https://developer.android.com/ndk/downloads/older_releases.html?hl=zh-cn
ndkr16.png
- 解压android-ndk-r16b-windows-x86_64.zip
- 设置NDK_ROOT环境变量,在系统变量中增加。值如:”D:\android-ndk-r16b“;
把”%NDK_ROOT%“加入到系统变量Path中,记得分号隔开。
配置成功:
ndkr16bsuc.png
环境配置小结
到此环境准备成功了,接下来准备编译试试
编译xlog
所有的编译脚本都在mars/mars 目录, 运行编译脚本之前也必须cd到此目录,在当前目录下运行,默认是编译 armeabi 的,如果需要其他 CPU 架构,把编译脚本中的archs = set(['armeabi'])稍作修改即可。

archs = set(['armeabi','armeabi-v7a','x86','arm64-v8a','x86_64'])
开始编译
python build_android.py
执行命令后,会让选择:
Enter menu:
1\. Clean && build mars.
2\. Build incrementally mars.
3\. Clean && build xlog.
4\. Exit
如需要自定义日志加密算法或者长短连协议加解包,请选择static libs选项,即 2 和 3。选项 1 和 2 输出结果全部在 mars_android_sdk 目录中,3 和 4 输出结果全部在 mars_xlog_sdk 目录中。
结果:

xlog应用
win10 mars xlog编译的更多相关文章
- win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件
win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件 1.去git上下载react-devtools文件到本地,https://github.com/fac ...
- Win10系统下编译GDAL1.9.2版本
环境说明: 1.Win10企业版.64位: 2.VS2012旗舰版: 3.GDAL1.9.2 GADL编译 1.解压GDAL压缩包至F:\GDAL\gdal-1.9.2: 2.设置GDAL编译后安装目 ...
- Win10系统下编译GEOS3.6.2
环境说明 1.Win10专业版.64位: 2.VS2012旗舰版: 3.cmake-3.9.0.64位: 资源准备 GEOS管网(http://trac.osgeo.org/geos)下载3.4.3版 ...
- Win10系统下编译OSG3.4
环境说明 1.Win10专业版.64位: 2.VS2012旗舰版:QT5.2.0: 3.cmake-3.9.0.64位: 资源准备 1.OSG3.4源码包 http://trac.opensceneg ...
- win10操作系统vs2010编译osg3.4.0问题解决记录
参考博客:OSG3.4.0+VS2010+WIN10编译及二次开发环境搭建 链接:https://blog.csdn.net/hsc1239653453/article/details/7827856 ...
- Win10 VS2015 静态编译Qt5.6.2源码
由于VS2015需要CRT等拓展组件,因此把内部编写的工具软件以静态发布,固需要编译Qt源码.Qt5.6.2版本,VS2015,Win10 1.安装python,perl,下载jom 2.改文件com ...
- win10子系统linux编译ffmpeg
android-ndk-r14b(linux版) ffmpeg-4.0 开启win10子系统(控制面板->程序和功能->启用或关闭Windows功能 然后在 适用与 Linux 的 Win ...
- 【E2E】Tesseract5+VS2017+win10源码编译攻略
一,记录我目前在win10 X64和VS2017的环境下成功编译Tesseract5.0的方式: 二,记录在VS2017 C++工程中调用Tesseract4.0的方法: 三,记录编译和调用Tesse ...
- win10使用cmake编译libevent(解决依赖openssl)
概述 win10没有安装openssl cmake version: 3.18 libevent version: 2.1.10-stable libevent目前的版本中写好了 CMakeLists ...
随机推荐
- 转载:关于思科交换机、路由器如何关闭telnet 开启ssh服务
等保测评要求: 必须关闭telnet服务,开启ssh服务 即用ssh方式登录网络设备,而不允许用telnet. 输入密码.en 再次输入密码.sh run 这些常规动作就不再赘述. 1.关闭telne ...
- js对象属性名以数字开头如何获取、js属性名以数字开头、missing ) after argument list
js对象中属性名以数字开头引发的报错 :missing ) after argument list var ChineseDistricts = { : { : '北京市', : '天津市', : ' ...
- 解决'maven lifecycle mapping not converted'的问题
基于maven的项目,使用各种maven plugin来完成开发中的各种工作,例如编译代码,打包,部署等等… 每个plugin包含许多的goal,用来做特定的事情.典型的基于java的maven项目就 ...
- MySQL索引原理(一)
MySQL索引原理 索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql.如果没有索引,那么你可能需 ...
- Android ConstraintLayout 小记
* 可以圆形定位view之间的位置,通过View的中心,来定位不同半径和弧度的距离. layout_constraintCircle : references another widget id la ...
- Java类成员初始化顺序
类中包含7中成员:1.静态变量 static2.final静态常量 final static3.静态代码块 static{} //多个代码块顺序执行 4.普通变量5.普通代码块 {} //多个代码 ...
- jstl标签库使用报错index_jsp.java找不到问题
初学jstl的时候记得只需要讲jstl和standard的jar放在lib下面,然后jsp中使用对应导入语法就可以使用标签库了. 但那时候用的是myeclipes,myeclipes的导包的过程记得是 ...
- Elasticsearch学习笔记——索引模板
在索引模板里面,date类型的字段的format支持多种类型,在es中全部会转换成long类型进行存储,参考 https://zhuanlan.zhihu.com/p/34240906 一个索引模板范 ...
- Nexus上传npm包
1.创建npm仓库 私服仓库npm-hosted 代理仓库npm-proxy npm-group 创建成功 在工程的根目录下创建文件 .npmrc registry=http://xxx:8081/n ...
- docker 国内镜像加速
CentOS7 对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件): {"registry-mirrors& ...