CTP API Windows版C++工程建立和DLL文件编译(traderapi)

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

前言

本文主要介绍Windows 64位平台下利用Visual Studio 建立CTP C++工程并且编译DLL文件。

1. 准备工作

  • Python环境,配置好环境变量,本文使用的是Python 3.12.9
  • 安装Visual Studio,主要用于生成包装dll文件,本文使用的是Visual Studio 2022

2. 建立C++工程

Visual Studio中选择“文件”——“新建”——“项目”,输入框中输入“Windows桌面向导”,选择Windows桌面向导后点击下一步,输入项目名称比如“thosttraderapi_wrap”,勾选将解决方案和项目放在同一目录,点击创建,应用程序类型选动态链接库DLL,其他选项勾选空项目,点击确定。

建好项目后,在工程上右键 - 属性 - 配置属性 - C/C++ - 代码生成 - 运行库 - 选多线程(/MT)

步骤如下图所示:

1、选择项目模板

2、输入项目名称

3、选择应用程序类型

4、选择运行库

如果你安装的是低版本的Visual Studio,界面可能与上述有所不同,步骤图如下:


1、低版本Visual Studio

2、低版本Visual Studio

3、低版本Visual Studio

项目完成之后,将如下文件拷贝到thosttraderapi_wrap文件夹下:

ThostFtdcTraderApi.h
ThostFtdcUserApiDataType.h
ThostFtdcUserApiStruct.h
thosttraderapi.lib
thosttraderapi_wrap.cxx
thosttraderapi_wrap.h

在项目上右键——添加——现有项,将这些文件全部选中添加到工程中去,添加完项目如下所示

5、添加Python相关依赖

1、将安装的Python下include文件夹的路径添加至C++附加包含目录

我的路径是D:\ProgramFiles\miniconda3\envs\python312\include;,注意结尾有个英文分号,C++附加包含目录在工程右键 - 属性 - 配置属性 - C/C++ - 常规 - 附加包含目录。

2、将安装的Python中python312.lib添加至工程附加依赖项

D:\ProgramFiles\miniconda3\envs\python312\libs\python312.lib;,注意结尾有个英文分号,链接器在工程右键 - 属性 - 配置属性 - 链接器 - 输入 - 附加依赖项。注意添加时前面在原有内容后面也加个分号。

6、生成解决方案,编译出dll文件

全部完成之后,选择Release版本、x64,点击生成——生成解决方案,控制台如果没有报错,在项目目录下会多出一个x64\Release目录,其中就有thosttraderapi_wrap.dll动态库文件,说明编译成功,名称默认和项目名称是一样。将其重命名为_thosttraderapi.pyd,这样CTP Python版API就全部编译成功了。

如果编译出现一些问题,可以百度或AI解决。

3、欢迎交流

QQ群:446042777(澄明期货研究)

4、相关文章

CTP Python API 利用Swig 封装Windows版(mduserapi)文章浏览阅读1.1k次,点赞9次,收藏19次。这样全部完成之后,选择Release版本,我们按F7编译,在\thosttraderapi\Release目录底下可见thosttraderapi.dll动态库文件,说明编译成功,将其重命名为_thosttraderapi.pyd,这样CTP Python API就编译成功了。上述代码中使用了C++11中自带的字节编码转换库,主要适用于字节编码转换,因为CTP的中文是GB2312编码,转换为UTF-8编码,适合python输出。这是一个接口文件,用于告诉swig为哪些类和方法创建接口。_windows下用swig工具转换ctp-api6.7.2版本接口为python https://blog.csdn.net/mdd2012/article/details/145291662

CTP Python API 利用Swig 封装Windows版(mduserapi)文章浏览阅读634次,点赞23次,收藏28次。目前上期技术CTP系统提供的API版本是C++版本,本文主要介绍Windows 64位平台下利用Swig工具将CTP C++接口mduser API转换为Python可调用的接口文件。0. 欢迎交流澄明之境:446042777。_python ctp swig https://blog.csdn.net/mdd2012/article/details/145291662

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值