]> O.S.I.I.S - jp/crow.git/commitdiff
add message for windows on dll not found
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sun, 31 Oct 2021 17:26:25 +0000 (18:26 +0100)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sun, 31 Oct 2021 17:26:25 +0000 (18:26 +0100)
Crow/src/Interface.cs

index a41d5dae2a67b0dd3f267971dddd3179f6afc7fb..ac8c73d469e828e284b29d5c5e836a29bc532415 100644 (file)
@@ -83,7 +83,15 @@ namespace Crow
                        switch (libraryName)
                        {
                                case "cairo":
-                                       return NativeLibrary.Load("cairo-2", assembly, null);
+                                       IntPtr cairoNative = NativeLibrary.Load("cairo-2", assembly, null);
+                                       if (cairoNative == IntPtr.Zero && RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) {
+                                               Console.WriteLine ("[Error] Native dlls required by crow are not found.");
+                                               Console.WriteLine ("You can download them here:\n\thttps://onedrive.live.com/download?cid=B3181664476E9B48&resid=B3181664476E9B48%21493&authkey=AJCso6KAKMCBfAM");
+                                               Console.WriteLine ("Then extract them in one of the following directory or in your build target one: ");
+                                               foreach (string dir in System.AppContext.GetData("NATIVE_DLL_SEARCH_DIRECTORIES").ToString().Split (';'))
+                                                       Console.WriteLine ($"\t- {dir}");
+                                       }
+                                       return cairoNative;
                                /*case "glfw3":
                                        return NativeLibrary.Load("glfw", assembly, null);*/
                                case "rsvg-2.40":