I wrote a program based on Win32. Now I need to switch it to x64 to be capable to take benefit of x64's computing power. During the switch, there is one thing blocked: some third-part library uses cdecl that cannot be used on x64 anymore. So it cannot compile.
I remember the cdecl is related to calling convention. Please, does anyone know how to fix it so I can run on x64? Thanks!
> If I am right, is it related to the _cdecl in boost::iostreams and system?
You need to rebuild all your libraries for a 64 bit platform with the __cdecl removed. And then you need to have the preprocessor defines before you include any header which was written for a 32 bit platform.
Well actually I use an external header which includes some boost libraries. While the conversion of my program to x64, the related boost libraries stop the compilation, as I showed above. My own code is ok when I convert to x64 debug. That is why I think I have to rebuild boost for x64.
I already have checked about building boost 1.53 for 64bit. I didn't find an clear instruction to build it. There is a installer for win64, but it occupies 8 Go which is huge. I prefer to build it by myself. Any idea about build it for VC11? Building on 32bit is quite simple but there should be some difference between them.