linux Ubuntu16.04 为例
1. 安装
$ sudo apt-get install git
下载项目
2. 安装linux jdk
如,jdk-8u161-linux-x64.tar.gz。
方法1:直接下载到本机,使用传输工具传输。如SSH的WinSCP
方法2:获取下载链接, 使用wget下载
方法3:使用curl下载(需安装curl)
② 配置环境变量
$ vim /etc/profile
尾部添加
export JAVA_HOME=/usr/java/jdk1.8.0_60 # jdk位置
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
重启系统
查询是否正确安装
安装成功:
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
3. 编译
在sbe根目录运行gradlew,编译项目.(如果下载不成功,可能是网络问题,多试几次,直到成功为止)
下载cme的templates_FixBinary.xml到sbe根目录下
$ java -Dsbe.target.language=Cpp -Dsbe.output.dir=target -Dsbe.keyword.append.token=_ -jar sbe-all/build/libs/sbe-all-1.7.1-SNAPSHOT.jar templates_FixBinary.xml
用法说明:
-Dsbe.target.language=cpp
|
输出的目标代码,cpp
|
-Dsbe.output.dir=target
|
输出地址,根目录下的target文件夹
|
-Dsbe.keyword.append.token=_
|
由于final是c++关键字 ,需要加上(详细解释见官方文档)
|
sbe-all/build/libs/sbe-all-x.x.x-SNAPSHOT.jar
|
需要根据在sbe-all/build/libs/ 下SNAPSHOT.jar的版本号,如
sbe-all/build/libs/sbe-all-1.7.1-SNAPSHOT.jar,
sbe-all/build/libs/sbe-all-1.7.10-SNAPSHOT.jar
|
templates_FixBinary.xml
|
从cme下载的文档,放在根目录下
|
运行成功后,会生成一个文件夹 target ,里面的mktdata就是我们所需要的文件夹,包含着cpp的头文件。
拷贝simple-binary-encoding/sbe-tool/src/main/cpp/ 下的sbe文件夹到mkdata文件夹内,因为需要调用。
Tips:
以上只是本人一点点的操作经验,GitHub上有其他的一些方法可以编译。