天哪,最近在捣鼓HTS快速交易接口。如果有同样捣鼓却遇到问题的朋友可以借鉴。博主是windows系统
先上解决方案:将原版接口中的"#ifdef _Windows"替换成“#ifdef _MSC_VER”,如下图:
1. 替换后正确的代码
#ifdef _MSC_VER
#define ITPDK_API extern "C" __declspec(dllexport)
#else
#define ITPDK_API extern "C" __attribute__ ((visibility("default")))
#endif
2. 下图是原版中有问题的代码
#ifdef _WINDOWS
#define ITPDK_API extern "C" __declspec(dllexport)
#else
#define ITPDK_API extern "C" __attribute__ ((visibility("default")))
#endif
博主的问题:拿到api接口,新建项目导入头文件时,itpdk_typedef.h中的对于 对于“判定WINDOWS后,将dll中的函数导出”,我电脑不知道为啥就是识别不了!!但是再另外一个项目中,又是可以被识别的…………真是见了鬼了!
这个头文件的问题会导致secitpdk.h文件出错,里面所有的定义都会不识别!!由于博主刚学c++,一开始还以为是secitpdk.h这个文件出问题了……搞了半天和另一个一模一样但是运行正产的项目做对比才找到了关键所在。引用知乎上一个回答:
链接:https://www.zhihu.com/question/29295704?sort=created
关于hts交易接口的文档,网络上真的超级少,可能是大神们只顾着做项目,懒得写文章了。我这个小白会持续更新我在部署hts交易接口 以及 c++编译成python可用中遇到的坑和教程。要是能顺利编译成功,我一定要写一篇教程出来~~哈哈哈哈