goctp
goctp copied to clipboard
关于使用SWIG编译CTP测试版本的问题
各位好,我在进行测试版本的编译的时候做了如下事情:
1:替换了API中的版本,替换成测试版本,版本号为:v6.3.16_T1_20190508_api_tradeapi_se_linux64
2:同时修改了goctp.swigcxx的 内容如下
3:同时也修改了libgoctp.go中的文件,也换成相应的版本,如下
然后按照步骤在goctp目录下下运行make install .但是出现了错误
我想问的是为什么会有这样的错误?怎么解决这样的错误?这种使用SWIG进行封装的步骤对吗,因为如果不了解封装的步骤,哪天CTP更新了,这样自己也不知道怎么封装,比较被动,避免被动。我想了解详细的步骤,就封装了测试版本,并且向期货公司申请账号的时候也需要在测试环境下测试,才会给批准授权码。有知道的大哥帮忙解答下,感恩无限。
make install 的时候报错是这样的
并且还有一个这样的警告信息
警告可忽略 修改 api/v6.3.../ThostFtdcUserApiDataType.h 文件,单引号改双引号就行了
老大我还有一个问题,还请您指导下,我这几天看了相关的SWIG和CGO,一只没有明白您在libgoctp.go这个文件里面以下代码的意思:
就是这段代码中最后:-lthostmduserapi_se -lthosttraderapi_se 这个是什么意思呀,我看CTP给的两个.so的动态链接库中,也不是以上文件名,而是:libthostmduserapi_se.so和libthosttraderapi_se.so. 看了好久都没有明白这段什么意思,还请您帮忙指点指点,不胜感激。
-l 表示使用这个动态链接库,动态库 必须以 lib 开头,否则无法使用,可以看成是一种格式
非常感谢,这下就明白了,我去尝试封装一下期货公司给的测试版本,通过下期货公司需要的客户端认证需求,非常感谢,如果可以的话可以建个微信群,或者QQ群,这样大家也可以交流下。我的微信是:15810783730.老大如果时间容许的话可以加我下,方便向您请教。
老大,我重新编译了下测试版的API但是也报错了,具体报错信息如下:
这次都不知道错到哪里了,请您帮我看一下?
我clone下您的这个项目, 我发现在api中两个.so文件的命名是如下的(都加了lib):
但是交易所给的我测试版本,两个.so文件前面是不加lib的。是这样的:
请问您libthostmduserapi_se.so和libthosttraderapi_se.so这个文件中的lib........so是自己加的吗? 是这个原因导致我编译不过去吗? 如果是这个原因的话,我在测试版本中也加上了lib但是好像还是报错。麻烦您帮我看下,谢谢。