Hassle is a very precise word. If you need MFC with VC++ Express you can get Windows SDK from Microsoft for free. (There will be no graphic tools to design GUI with MFC... but you will be able to compile MFC code.) Windows API libraries (excluding MFC and ATL) come with Visual C++ 2008 and 2010 as stadard (they didn't with VC++ 2005) - these are all you need for COM support.
I would just like to add my 2 cents to this if it's not too late. If you are new to C++, Visual Studio, and the Interactive Brokers APIs you are going to have a difficult time getting started. -It is difficult to run the IB C++ sample application with Visual Studio express. As some other people have mentioned there are some work arounds. May I suggest first learning the IB APIs then moving to C++ if you really need the speed. You can also access the IB APIs via Python with the ibpy package. http://code.google.com/p/ibpy/ It works, and Python is super easy to learn. I have been trading over the IB API for over a year and I trade in Python because it's super easy to change things.
Hi, I'm just starting to use TWS API with VS C++ 10 now myself and saw this thread. The sample progs use MFC (I disagree with the earlier poster regarding all windows GUI stuff being MFC, MFC is now deprecated and was relatively unpopular when it was brought out about 10 years ago, although the new .NET Afx stuff is probably it's successor), the MFC stuff is included in StdAfx.h. Having said that I've not been able to get any of the sample TWS progs to compile/build by following the TWS API getting started instructions which don't seem to have been written very well. They've done a bad job of copy and pasting bits of VC++ instruction into what looks like it was originally the VB document so it's quite confusing. Plus they give you the source files but no project files. If anyone knows where I can get a full working TWS API sample project that directly builds in VS10 then that would be great. Alternatively I suppose it's possible to build a generic GUI app from scratch and call the TWS API functions and deal with them that way.
IMO you are better off using C# or Java. Your productivity will be much higher and the code tends to be less error prone in these languages. This might be different if you have already 10year of coding experience in C++. In C++ you have many more chances to shoot yourself into the foot (pointer artithmetics etc). Also I dont see an big advantage (even performance wise) in using C++.
Sorry for the long delay in updating this thread. I have been occupied with other activities for a while. However, I have also spent some time continuing to learn about the IB C++ API and C++ compiling. After much search effort and experimentation, I have learned a few things. 1) From what I have read on a few different C programming forums, 32-bit MFC libraries are not included in the MS PSDK. The 64-bit libraries are included in the most recent version. If an individual wishes to obtain the 32-bit MFC libraries, they must obtain Visual Studio (other than the express versions). There are, however, some other under-handed ways to obtain the ATL/MFC libraries... enough said. 2) Both the POSIX and regular C++ API files make use of MFC, not just the sample C++ program. Both include EWrapper.h, which includes IBString.h, which attempts to include afxstr.h, an MFC library. However, it is part of a conditional statement, which I believe could be eliminated to remove the reference to afxstr.h. Just an idea. See following code from IBString.h: #ifdef IB_USE_STD_STRING #include <string> typedef std::string IBString; #else #include <afxstr.h> typedef CString IBString; #endif 3) Visual Studio Express. I'm sure this is a very useful IDE, and I've played around with it for some time, but it is far too all-inclusive to suit my simple needs. I have instead focused on Borland C++ 5.5 command line tools. My first attempt at compiling a simple program with EWrapper.h and EClientSocket.h looked like this: (see attached screenshot compile_test01.jpg) So that's where I'm at currently.
The greater than/less than signs must have confused the forum software. So, attached picture shows correct IBString.h header.
Recently switched to Visual Studio 2010 Express - Command Prompt. The compiler seems to be better and more descriptive in error handling (compared to Borland C++ 5.5 command line compiler). I've also been using Notepad++, which is a handy text editor.
I'd suggest to use stone tablet and cuneiform script and a chisel for carving. It's pretty "hard" to reverse engineer and, in case a tyrannosaurus comes by, they can come handy. Tom