Current binary GHC distribution (7.8.2) doesn't have dynamic base libraries (base
proper, ghc-prim
etc). So it's not possible to use dynamic linking. (It's possible to produce a statically linked dll of course). So an older solution is outdated.
What is the easiest way to get 64-bit dynamic linking on Windows with 7.8.x?
Implementation Visual Studio provides us with their own Developer Command Prompt that allows us to compile executable files. Find the Native Tools Command Prompt for VS in the Visual Studio directory. I am using x64 for this tutorial to compile 64-bit dynamic-link libraries since the Python version that I have is based on 64-bit architecture.
The default is still 32-bit. Any plans on re-opening this issue or making another issue to request the change in defaults? We almost always need 64-bit these days so it should be the default. Sorry, something went wrong. I am new to vcpkg; so, I just spent an hour waiting for boost and opencv to build...
My impression is that in the Windows world the saying goes: "Use 32-bit mode unless you have a good reason to switch to 64-bit", hence everything defaults to 32-bit. When you think about it, it's not a wrong line of reasoning: 32-bit programs are smaller, more memory-efficient and sometimes faster by being more cache-friendly.
As you see from the data, 99% of Windows users are running a 64-bit OS. Sorry, something went wrong. @ras0219-msft: VS2019 uses x64 as a default for "open folder" and so does cmake, so why hasn't vcpkg caught up (or has it)?
Unfortunately the issue is serious, and neither 7.8 nor 7.10 have dynamic linking on Windows.
The problem is that with more features added to GHC some of GHC DLLs started to export more than 64k symbols. Which is impossible on Windows as 64k is an inherent limit of Windows dynamic linking.
So authors of GHC should rewrite it so it exports less symbols. Few solutions are outlined in the GHC bug tracker (one of them is splitting a big DLL into few smaller ones). But as far as I know nobody is working on this issue at the moment.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With