How to compile connection_patcher in 32bit (win)

Hi,

I compiled server and tools successful in 64bit on windows. And everything is working.

However a friend has a Windows 32bit only and needed the connection_patcher as 32bit version. I wanted to recompile the tools only.

But in MSVS there is no option in the dropdown for win32 and in CMAKE I also couldn’t figure out what I have to chance.

Any help is welcome :wink:

CMake → File → Delete Cache
Then click “Configure” and a the compiler selection will pop up. Select the right VS version (without Win64 at the and) and you’re good to go.

Regards,
Carbenium

Edit: ofc click “Generate” too and open the new .sln file with VS to apply the changes.

Thanks, works but …

… of course I had to download and install 32bit versions of Boost and OpenSSL to get it running. And to use the 32bit libeay32.dll. Hope it helps somebody else.

Beside of that … is there any advantage to compile the core in 64bit ?
I have done it but for 90% of software the only ‘advantage’ is that the 64bit version blows up the file size.

2gb of ram limitation of 32 bits binaries.

http://www.viva64.com/en/k/0002/ What advantages do 64-bit processors have over 32-bit ones?

I know that, but that’s exactly the point: Most software does not address such high amount of memory.

Is there something at TC ?

It belong also not to the classical group of ‘CAD/CAE-like programs, data managers, programs to work with digital media and applied scientific applications’.

But what do you recommend ?

Use 64 bits whenever possible. 32 bits architecture is old and in the process of being deprecated.

That’s a word :slight_smile:

I found also this: http://stackoverflow.com/questions/15948767/why-should-we-build-64-bit-targets-for-c-application

The answer about the CPU registers I found interesting for me.

" Aside from the OBVIOUS reasons given above (mainly “using more than 2-3GB of memory”), the reason to compile for 64-bit is that x86-64 has 16 registers, where x86-32 has 8. Since one of those registers is the stackpointer and often rBP is reserved for “framepointer”, the actual useful number of registers is 6 and 14 respectively. The additional registers allow, for example, larger number of parameters being passed in registers, and larger number of temporary variables being held in registers within a function. This has a positive effect on the actual execution speed of the code, as every time memory is used instead of a register, AT LEAST it leads to a more complex instruction, and often to an additional instruction having to be used. This in turn makes the code larger when there isn’t enough registers "