goctp icon indicating copy to clipboard operation
goctp copied to clipboard

关于使用SWIG编译CTP测试版本的问题

Open forthsky opened this issue 5 years ago • 6 comments

各位好,我在进行测试版本的编译的时候做了如下事情: 1:替换了API中的版本,替换成测试版本,版本号为:v6.3.16_T1_20190508_api_tradeapi_se_linux64 2:同时修改了goctp.swigcxx的 内容如下 image 3:同时也修改了libgoctp.go中的文件,也换成相应的版本,如下 image 然后按照步骤在goctp目录下下运行make install .但是出现了错误

image 我想问的是为什么会有这样的错误?怎么解决这样的错误?这种使用SWIG进行封装的步骤对吗,因为如果不了解封装的步骤,哪天CTP更新了,这样自己也不知道怎么封装,比较被动,避免被动。我想了解详细的步骤,就封装了测试版本,并且向期货公司申请账号的时候也需要在测试环境下测试,才会给批准授权码。有知道的大哥帮忙解答下,感恩无限。

forthsky avatar Nov 28 '19 03:11 forthsky

make install 的时候报错是这样的 image 并且还有一个这样的警告信息 image

forthsky avatar Nov 28 '19 03:11 forthsky

警告可忽略 修改 api/v6.3.../ThostFtdcUserApiDataType.h 文件,单引号改双引号就行了

image

mayiweb avatar Dec 03 '19 06:12 mayiweb

老大我还有一个问题,还请您指导下,我这几天看了相关的SWIG和CGO,一只没有明白您在libgoctp.go这个文件里面以下代码的意思: image

就是这段代码中最后:-lthostmduserapi_se -lthosttraderapi_se 这个是什么意思呀,我看CTP给的两个.so的动态链接库中,也不是以上文件名,而是:libthostmduserapi_se.so和libthosttraderapi_se.so. 看了好久都没有明白这段什么意思,还请您帮忙指点指点,不胜感激。

forthsky avatar Dec 03 '19 06:12 forthsky

-l 表示使用这个动态链接库,动态库 必须以 lib 开头,否则无法使用,可以看成是一种格式

mayiweb avatar Dec 03 '19 07:12 mayiweb

非常感谢,这下就明白了,我去尝试封装一下期货公司给的测试版本,通过下期货公司需要的客户端认证需求,非常感谢,如果可以的话可以建个微信群,或者QQ群,这样大家也可以交流下。我的微信是:15810783730.老大如果时间容许的话可以加我下,方便向您请教。

forthsky avatar Dec 03 '19 07:12 forthsky

老大,我重新编译了下测试版的API但是也报错了,具体报错信息如下: image 这次都不知道错到哪里了,请您帮我看一下? 我clone下您的这个项目, 我发现在api中两个.so文件的命名是如下的(都加了lib): image 但是交易所给的我测试版本,两个.so文件前面是不加lib的。是这样的: image

请问您libthostmduserapi_se.so和libthosttraderapi_se.so这个文件中的lib........so是自己加的吗? 是这个原因导致我编译不过去吗? 如果是这个原因的话,我在测试版本中也加上了lib但是好像还是报错。麻烦您帮我看下,谢谢。

forthsky avatar Dec 03 '19 09:12 forthsky