ubuntu22.04上用swig封装c++版本的ctp接口供python3调用
1.从simnow.com.cn上下载拿来转的ctp版本
2.ubuntu22.04上的terminal进入下载并解压好的ctp文件夹目录
3.创建ThostTraderApi.i
内容:
//api函数
%module(directors=“1”) ThostTraderApi
// 回调函数
%feature(“director”) CThostFtdcTraderSpi;
%{
#include “ThostFtdcTraderApi.h”
#include “ThostFtdcUserApiDataType.h”
#include “ThostFtdcUserApiStruct.h”
%}
// 启用 director 支持虚函数回调
%include “ThostFtdcTraderApi.h”
%include “ThostFtdcUserApiDataType.h”
%include “ThostFtdcUserApiStruct.h”
4.terminal执行: swig -python -c++ ThostTraderApi.i
5.terminal执行: g++ -fPIC -shared ThostTraderApi_wrap.cxx libthosttraderapi_se.so -o _ThostTraderApi.so -I/usr/include/python3.10 -L. -lthosttraderapi_se
6.如果报错执行:mv thosttraderapi_se.so libthosttraderapi_se.so
7.terminal: swig -python -c++ ThostTraderApi.i
8.terminal: g++ -fPIC -shared ThostTraderApi_wrap.cxx -o _ThostTraderApi.so -I/usr/include/python3.10 -L. -lthosttraderapi_se
9.完成后python3下运行import ThostTraderApi,如果没出错说明已经转换成功
10.测试输出版本号:
测试代码:
import ThostTraderApi
api = ThostTraderApi.CThostFtdcTraderApi_CreateFtdcTraderApi(“.”)
if api:
print(“API 创建成功!”)
else:
print(“API 创建失败!”)
print(api.GetApiVersion())
预计输出:
API 创建成功!
‘v6.7.8_20240918 14:34:34.8082’
更多推荐
所有评论(0)