gpt4 book ai didi

c++ - Interactive Brokers API C++ 控制台非常基本的东西

转载 作者:行者123 更新时间:2023-11-28 01:48:41 26 4
gpt4 key购买 nike

IB API C++ 主题有多个答案,但我无法确定所需的答案。我正在努力通过控制台通过 C++ API 连接到 TWS。我不需要界面,只需要在最简单的层面上进行链接。

我正在尝试以下代码:

#include "EWrapper.h"
#include "EClientSocket.h"
#include "textbook_classes_.h"
//in textbook_classes_.h/.cpp I have EWrapper inheritance with
//required funcs overriding,
//those I keep empty (ie:
// void test_EWrapper::tickPrice( TickerId tickerId, TickType field,
// double price, int canAutoExecute) {}


int main()
{
IB::test_EWrapper client;
IB::test_EWrapper* ptr_client = new IB::test_EWrapper(client);

EClientSocket test_socket(ptr_client);

test_socket.eConnect( "", 7497, 0, false); //my port is 7497

delete ptr_client;
ptr_client = nullptr;

return 0;
}

我得到的编译错误:

CMakeFiles\tws_san_.dir/objects.a(main.cpp.obj): In function `main':
C:/Users/solovyev.an/Documents/Cpp/tws_san_/main.cpp:15: undefined
reference to `EClientSocket::EClientSocket(EWrapper*)'
C:/Users/solovyev.an/Documents/Cpp/tws_san_/main.cpp:17: undefined
reference to `EClientSocket::eConnect(char const*, unsigned int, int, bool)'
C:/Users/solovyev.an/Documents/Cpp/tws_san_/main.cpp:15: undefined
reference to `EClientSocket::~EClientSocket()'
C:/Users/solovyev.an/Documents/Cpp/tws_san_/main.cpp:15: undefined
reference to `EClientSocket::~EClientSocket()'
CMakeFiles\tws_san_.dir/objects.a(textbook_classes_.cpp.obj):
In function `ZN2IB13test_EWrapperC2Ev':
C:/Users/solovyev.an/Documents/Cpp/tws_san_/textbook_classes_.cpp:26:
undefined reference to `EClientSocket::EClientSocket(EWrapper*)'
collect2.exe: error: ld returned 1 exit status

CMakeFiles\tws_san_.dir\build.make:123: recipe for target 'tws_san_.exe' failed
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/tws_san_.dir/all' failed
mingw32-make.exe[3]: *** [tws_san_.exe] Error 1
mingw32-make.exe[2]: *** [CMakeFiles/tws_san_.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles/tws_san_.dir/rule] Error 2
CMakeFiles\Makefile2:78: recipe for target 'CMakeFiles/tws_san_.dir/rule' failed
Makefile:117: recipe for target 'tws_san_' failed
mingw32-make.exe: *** [tws_san_] Error 2

我很感激关于这个非常基本的事情的建议。

附言

我知道有两个非常流行的用户开发的 C++ API 选项:

https://github.com/rudimeier/twsapi

https://github.com/JanBoonen/TwsApiCpp

但它们也不能在我的 Win 机器上运行。

最佳答案

似乎有一个复杂的故事:
1 最好获取最新版本的 API(说真的,从昨天开始)。
2 最好在 VS IDE 中编译它,尽管可能手动更正 IBString.h 以删除 MS 相关声明。
3 不能在2015 VS toolset下编译,请改用2012。
4 你不能让它像从头开始编写几个对象实例化那样简单。最好从原始 IB 文件中删除不需要的内容。
@dmaelect 感谢您的贡献。

关于c++ - Interactive Brokers API C++ 控制台非常基本的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43830191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com