From f315912d8568d47c52f739807768629714981fdf Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Sat, 18 Jun 2022 14:05:07 +0200 Subject: [Windows] Fix windows build with mingw. Forces ".dll" extension for library when building with mingw. Override GDN_EXPORT which is incorrectly defined in the upstream gdnative headers (3.x) and godot-cpp include (4.0) when building for windows with mingw. --- SConstruct | 4 ++++ src/init_gdextension.cpp | 6 ++++++ src/init_gdnative.cpp | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/SConstruct b/SConstruct index 56bb711..e79913e 100644 --- a/SConstruct +++ b/SConstruct @@ -67,6 +67,10 @@ else: }) env = env.Clone() +# Patch mingw SHLIBSUFFIX. +if env["platform"] == "windows" and env["use_mingw"]: + env["SHLIBSUFFIX"] = ".dll" + opts.Update(env) target = env["target"] diff --git a/src/init_gdextension.cpp b/src/init_gdextension.cpp index c923881..b252379 100644 --- a/src/init_gdextension.cpp +++ b/src/init_gdextension.cpp @@ -37,6 +37,12 @@ #include "WebRTCLibDataChannel.hpp" #include "WebRTCLibPeerConnection.hpp" +#ifdef _WIN32 +// See upstream godot-cpp GH-771. +#undef GDN_EXPORT +#define GDN_EXPORT __declspec(dllexport) +#endif + using namespace godot; using namespace godot_webrtc; diff --git a/src/init_gdnative.cpp b/src/init_gdnative.cpp index 77669af..00109a4 100644 --- a/src/init_gdnative.cpp +++ b/src/init_gdnative.cpp @@ -34,6 +34,12 @@ #include #include +#ifdef _WIN32 +// See upstream godot GH-62173. +#undef GDN_EXPORT +#define GDN_EXPORT __declspec(dllexport) +#endif + /* Singleton */ static bool _singleton = false; static const godot_object *_singleton_lib = NULL; -- cgit v1.2.3