CTP JAVA_API(JCTP)编译(利用Swig封装C++动态库)linux版64位
来源:互联网 发布:关节机器人编程 编辑:程序博客网 时间:2024/06/09 14:35
前言:上篇中已经讲了windows下的Java API编译,这篇讲linux的。
1 准备工作
- 下载linux下的liviconv库,自己编译,我这里用到的是
liviconv.a
静态库。 - 从上期技术官网获得linux版本的tradeapi。拷贝到相应linux环境目录底下。
2 通过swig获得jar包
linux和windows下的jar包得到方式是一样的,参考上一篇,可以直接拿来用
3 编译得到包装动态库so
将上一篇中windows下的thosttraderapi_wrap.cpp
和thosttraderapi_wrap.h
两个文件拷贝到linux相应的目录底下。现在linux目录底下的文件应该如下
libiconv.a
ThostFtdcTraderApi.h
ThostFtdcUserApiStruct.h
thosttraderapi_wrap.h
libthosttraderapi.so
makefile
ThostFtdcUserApiDataType.h
thosttraderapi_wrap.cpp
其中makefile的内容如下:
OBJS=thosttraderapi_wrap.oINCLUDE=-I./ -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linuxTARGET=libthosttraderapi_wrap.soCPPFLAG=-shared -fPICCC=g++LDLIB=-L. -lthosttraderapi$(TARGET) : $(OBJS) $(CC) $(CPPFLAG) $(INCLUDE) -o $(TARGET) $(OBJS) $(LDLIB) ./libiconv.a $(OBJS) : %.o : %.cpp $(CC) -c -fPIC $(INCLUDE) $< -o $@ clean: -rm -f $(OBJS) -rm -f $(TARGET)install: cp $(TARGET) /usr/lib
执行make命令,得到libthosttraderapi_wrap.so
库,说明编译成功。
4 Java Demo
将jar文件,两个动态库so文件,上一篇中的Demo.java文件拷贝到同一个文件夹test
中,该文件夹中清单如下:
libthosttraderapi.so
libthosttraderapi_wrap.so
thosttraderapi.jar
Demo.java
在当前目录下执行命令:
javac -cp ./thosttraderapi.jar Demo.java
编译成功后,执行运行命令:
java -cp ./thosttraderapi.jar:./ Demo
可以看到运行成功。
2 0
- CTP JAVA_API(JCTP)编译(利用Swig封装C++动态库)linux版64位
- CTP JAVA API(JCTP)编译(利用Swig封装C++动态库)windows版
- CTP Python API(利用Swig 封装)Windows版(traderapi)
- CTP Python API(利用Swig 封装)Windows版(mduserapi)
- SWIG and Python(用SWIG将C/C++封装为Python扩展模块)
- Linux(ubuntu 64位)编译32位C源码
- SWIG封装C代码
- swig 把c/c++ 封装成python可调用的so文动态链接库
- 通过Swig封装JAVA Native Interface调用C++动态库
- 用Swig封装C/C++
- 用Swig封装C/C++
- swig+lua初步(c++)
- linux下使用swig让python调用C++(复杂版:包括多文件调用和链接库)
- linux 64位 编译动态库时会出错的解决方案
- 64位Linux下编译cximage动态库
- 64位Linux环境 编译32位汇编程序(外链C库函数)
- Python调用C/C++(使用SWIG)
- Swig封装C/C++——介绍
- retrofit与rx_java结合使用基础篇之一
- File操作-InputStreamReader/Writer
- 火狐安装后双击没反应的解决办法
- 423. Reconstruct Original Digits from English
- 关于log4j root logger 标签 以及additivity 属性
- CTP JAVA_API(JCTP)编译(利用Swig封装C++动态库)linux版64位
- 自定义悬浮头部标题栏HeaderFloatTitle(支持背景/透明度/位移的变化)
- Centos7 安装 tomcat9 后访问慢且 shutdown.sh 报错,提示 8005 端口未启用
- Android - 判断Android设备是手机还是平板?
- UE4学习笔记(20161116) 正则表达式检测输入信息
- java图片上传
- Interesting_C
- STL-forward_list(单向链表)
- mongodb基本概念