Can't build as static lib on Win64 platform
I'm trying to build SimpleAmqpClient as static lib using BUILD_SHARED_LIBS=OFF but I keep getting the "The SimpleAmqpClient library cannot be built as a static library on Win32" despite I'm on the current generator "Visual Studio 12 2013 Win64". I've built both rabbitmq-c and Boost as static lib on x64 architecture without problems.
I'm on Windows 8.1 x64, CMake 3.3.2 GUI, Boost 1.59.
No static libs on Win32 was a restriction I put in place in an attempt to make SimpleAmqpClient easer to use[1]. Currently this is working as intended.
I'm contemplating lifting this restriction, as I've seen some demand for it, and I've done something similar for rabbitmq-c.
[1] The reason behind this is the way importing of symbols on Win32 is different depending on whether you're linking against a static or dynamic library. Ideally the code would only need one type of decoration when building the library, and different one when using as either a dynamic or static library. Win32 requires differentiating between static and dynamic symbols when using them, thus the restriction is that users would be forced to define an additional preprocessor definition (-DSIMPLEAMQPCLIENT_STATIC) when compiling sources with the intention of using a static SimpleAmqpClient).
Has anything changed?
@Pro100sie3mam not yet. I have seen quite a bit of interest in a static version of SimpleAmqpClient recently, so I'm making this a priority to get it done.
I am voicing in my request as well... My project won't build properly on windows unless I can have all dependencies static due to memory deallocation happening in the wrong heaps and what not when using .dll.