CTP Linux64 JAVA_API

1、获取libiconv-1.15.tar.gz。

2、获取CTP linux 64 的完整包( 包含有 编译好的 libthostmduserapi.so 、 libthosttraderapi.so、 libthosttraderapi_wrap.so),到linux上面解压。

3、解压包:把上一篇CTP Win64 JAVA_API产生的thosttraderapi_wrap.cppthosttraderapi_wrap.h两个文件拷贝到linux相应的目录底下,去掉thosttraderapi_wrap.cpp首行#include "stdafx.h"

[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# ll
总用量 12640
-rw-r--r--. 1 root root     184 10月 12 09:25 error.dtd
-rw-r--r--. 1 root root   16121 10月 12 09:25 error.xml
-rw-r--r--. 1 root root    5398 10月 12 09:25 ThostFtdcMdApi.h
-rw-r--r--. 1 root root   33731 10月 12 09:25 ThostFtdcTraderApi.h
-rw-r--r--. 1 root root  242039 10月 12 09:25 ThostFtdcUserApiDataType.h
-rw-r--r--. 1 root root  221843 10月 12 09:25 ThostFtdcUserApiStruct.h
-rw-r--r--. 1 root root 2020538 10月 12 16:11 thostmduserapi.so
-rw-r--r--. 1 root root 4706747 10月 12 16:11 thosttraderapi.so
-rw-r--r--. 1 root root 5649793 10月 12 10:59 thosttraderapi_wrap.cpp
-rw-r--r--. 1 root root   19187 10月 12 10:57 thosttraderapi_wrap.h

 

4、解压libiconv-1.15.tar.gz到linux目录,安装 libiconv

[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# tar zxvf libiconv-1.15.tar.gz .
[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# rm -rf zxvf libiconv-1.15.tar.gz
[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# cd libiconv-1.15
[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# ./configure --prefix=/usr/local
[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# make && make install

此时 /usr/local/lib  目录下可看到 ibiconv.so 文件了

[root@slave1 lib]# cd /usr/local/lib
[root@slave1 lib]# ll
总用量 2840
-rw-r--r--. 1 root root     221 10月 12 10:39 charset.alias
-rw-r--r--. 1 root root   43368 10月 12 10:39 libcharset.a
-rwxr-xr-x. 1 root root     937 10月 12 10:39 libcharset.la
lrwxrwxrwx. 1 root root      19 10月 12 10:39 libcharset.so -> libcharset.so.1.0.0
lrwxrwxrwx. 1 root root      19 10月 12 10:39 libcharset.so.1 -> libcharset.so.1.0.0
-rwxr-xr-x. 1 root root   32576 10月 12 10:39 libcharset.so.1.0.0
-rwxr-xr-x. 1 root root     913 10月 12 10:39 libiconv.la
lrwxrwxrwx. 1 root root      17 10月 12 10:39 libiconv.so -> libiconv.so.2.6.0
lrwxrwxrwx. 1 root root      17 10月 12 10:39 libiconv.so.2 -> libiconv.so.2.6.0
-rwxr-xr-x. 1 root root 1419392 10月 12 10:39 libiconv.so.2.6.0
-rw-r--r--. 1 root root 1393576 10月 12 10:39 preloadable_libiconv.so
[root@slave1 lib]#

5、把 libiconv.so.2.6.0 复制到 CTP解压目录下面,修改 thostmduserapi.so 和 thosttraderapi.so 名称,创建文件makefile

[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# mv thostmduserapi.so libthostmduserapi.so
[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# mv thosttraderapi.so libthosttraderapi.so 
[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# touch makefile
[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# ll
总用量 17928
-rw-r--r--. 1 root root     184 10月 12 09:25 error.dtd
-rw-r--r--. 1 root root   16121 10月 12 09:25 error.xml
-rw-r--r--. 1 root root 1419392 10月 12 16:14 libiconv.so.2.6.0
-rw-r--r--. 1 root root 2020538 10月 12 16:14 libthostmduserapi.so
-rw-r--r--. 1 root root 4706747 10月 12 16:14 libthosttraderapi.so
-rw-r--r--. 1 root root     506 10月 12 16:14 makefile
-rw-r--r--. 1 root root    5398 10月 12 09:25 ThostFtdcMdApi.h
-rw-r--r--. 1 root root   33731 10月 12 09:25 ThostFtdcTraderApi.h
-rw-r--r--. 1 root root  242039 10月 12 09:25 ThostFtdcUserApiDataType.h
-rw-r--r--. 1 root root  221843 10月 12 09:25 ThostFtdcUserApiStruct.h
-rw-r--r--. 1 root root 5649793 10月 12 10:59 thosttraderapi_wrap.cpp
-rw-r--r--. 1 root root   19187 10月 12 10:57 thosttraderapi_wrap.h

7、回到CTP解压目录,编辑makefile 注意:$(CC)和-rm 前面用Tab键,不要用空格键。

OBJS=thosttraderapi_wrap.o
INCLUDE=-I./ -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux
TARGET=libthosttraderapi_wrap.so
CPPFLAG=-shared -fPIC
CC=g++
LDLIB=-L. -lthostmduserapi -lthosttraderapi
$(TARGET) : $(OBJS)
        $(CC) $(CPPFLAG) $(INCLUDE) -o $(TARGET) $(OBJS) $(LDLIB) ./libiconv.so.2.6.0                                                                            
$(OBJS) : %.o : %.cpp
        $(CC) -c -fPIC $(INCLUDE) $< -o $@ 
clean:
        -rm -f $(OBJS)
        -rm -f $(TARGET)
install:
        cp $(TARGET) /usr/lib

8、执行make命令

[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# make

会产生需要的SO文件

[root@slave1 v6.3.11_20180109_api_tradeapi_linux64]# ll
总用量 21092
-rw-r--r--. 1 root root     184 10月 12 09:25 error.dtd
-rw-r--r--. 1 root root   16121 10月 12 09:25 error.xml
-rw-r--r--. 1 root root 1419392 10月 12 16:14 libiconv.so.2.6.0
-rw-r--r--. 1 root root 2020538 10月 12 16:14 libthostmduserapi.so
-rw-r--r--. 1 root root 4706747 10月 12 16:14 libthosttraderapi.so
-rw-r--r--. 1 root root 3986800 10月 12 16:14 libthosttraderapi_wrap.so
-rw-r--r--. 1 root root     506 10月 12 16:14 makefile
-rw-r--r--. 1 root root    5398 10月 12 09:25 ThostFtdcMdApi.h
-rw-r--r--. 1 root root   33731 10月 12 09:25 ThostFtdcTraderApi.h
-rw-r--r--. 1 root root  242039 10月 12 09:25 ThostFtdcUserApiDataType.h
-rw-r--r--. 1 root root  221843 10月 12 09:25 ThostFtdcUserApiStruct.h
-rw-r--r--. 1 root root 5649793 10月 12 10:59 thosttraderapi_wrap.cpp
-rw-r--r--. 1 root root   19187 10月 12 10:57 thosttraderapi_wrap.h
-rw-r--r--. 1 root root 3238856 10月 12 16:31 thosttraderapi_wrap.o

9、将libthostmduserapi.so 、libthosttraderapi.so、libthosttraderapi_wrap.so 加入到java.library.path 参考 

      Linux 设置java.library.path

10、把上一篇的 ThostTraderAPI 工程打包到linux上面运行

[root@slave1 tradeapi]# java -jar ctp-0.0.1-SNAPSHOT.jar 

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.5.RELEASE)

2018-10-12 14:30:33.074  INFO 14716 --- [           main] com.ctp.ThosttraderapiApplication        : Starting ThosttraderapiApplication v0.0.1-SNAPSHOT on slave1 with PID 14716 (/usr/local/tradeapi/ctp-0.0.1-SNAPSHOT.jar started by root in /usr/local/tradeapi)
2018-10-12 14:30:33.094  INFO 14716 --- [           main] com.ctp.ThosttraderapiApplication        : No active profile set, falling back to default profiles: default
2018-10-12 14:30:33.149  INFO 14716 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@16b4a017: startup date [Fri Oct 12 14:30:33 CST 2018]; root of context hierarchy
java.library.path:/usr/local/tradeapi/os:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2018-10-12 14:30:33.902  INFO 14716 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-10-12 14:30:33.928  INFO 14716 --- [           main] com.ctp.ThosttraderapiApplication        : Started ThosttraderapiApplication in 1.388 seconds (JVM running for 1.909)
On Front Connected
Brokerid[,登陆成功,0]
订阅成功
交易日20181012
合约代码[v1901]最新价[6735.000000]时间[20181012 14:30:33:0]
合约代码[cu1811]最新价[50830.000000]时间[20181012 14:30:33:0]
合约代码[cu1811]最新价[50830.000000]时间[20181012 14:30:33:500]
合约代码[v1901]最新价[6735.000000]时间[20181012 14:30:33:500]
合约代码[cu1811]最新价[50830.000000]时间[20181012 14:30:34:0]
合约代码[v1901]最新价[6735.000000]时间[20181012 14:30:34:0]
合约代码[cu1811]最新价[50830.000000]时间[20181012 14:30:34:500]
合约代码[v1901]最新价[6735.000000]时间[20181012 14:30:34:500]
合约代码[cu1811]最新价[50830.000000]时间[20181012 14:30:35:0]
合约代码[v1901]最新价[6735.000000]时间[20181012 14:30:35:0]
合约代码[cu1811]最新价[50830.000000]时间[20181012 14:30:35:500]
合约代码[v1901]最新价[6735.000000]时间[20181012 14:30:35:500]

 

你可能感兴趣的:(CTP)