From 696ddac0d860b8774abba087700365424b4cda6b Mon Sep 17 00:00:00 2001 From: Jesse Hoogervorst Date: Wed, 17 Jan 2024 14:51:23 +0100 Subject: [PATCH] Implemented automated network library initialization for Windows MinGW targets (#4402) * Implemented automated network library initialization for Windows MinGW/GCC targets * Using POCO_COMPILER_MINGW instead of __GNUC__ --------- Co-authored-by: Jesse Hoogervorst --- Net/include/Poco/Net/Net.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Net/include/Poco/Net/Net.h b/Net/include/Poco/Net/Net.h index 9b4fae0e66..98780164db 100644 --- a/Net/include/Poco/Net/Net.h +++ b/Net/include/Poco/Net/Net.h @@ -101,11 +101,13 @@ std::string htmlize(const std::string& str); // Automate network initialization (only relevant on Windows). // -#if defined(POCO_OS_FAMILY_WINDOWS) && !defined(POCO_NO_AUTOMATIC_LIB_INIT) && !defined(__GNUC__) +#if defined(POCO_OS_FAMILY_WINDOWS) && !defined(POCO_NO_AUTOMATIC_LIB_INIT) extern "C" const struct Net_API NetworkInitializer pocoNetworkInitializer; -#if defined(Net_EXPORTS) +#if defined(POCO_COMPILER_MINGW) + #define POCO_NET_FORCE_SYMBOL(x) static void *__ ## x ## _fp = (void*)&x; +#elif defined(Net_EXPORTS) #if defined(_WIN64) #define POCO_NET_FORCE_SYMBOL(s) __pragma(comment (linker, "/export:"#s)) #elif defined(_WIN32)