diff options
| author | j-p <jp_bruyere@hotmail.com> | 2021-10-31 18:06:50 +0100 |
|---|---|---|
| committer | j-p <jp_bruyere@hotmail.com> | 2021-10-31 18:06:50 +0100 |
| commit | 1e7bd19a110f925e7ca2a0475cf87551fed09a1a (patch) | |
| tree | de0cb862bb2dbc5263743a089cf94c886bf7ce81 | |
| parent | 860eec4c0a2dd1642518eefcbec4cdf8a63091c9 (diff) | |
add error message and needed links for native dll resolution on windowsv0.9.8-beta
| -rw-r--r-- | Crow/src/Interface.cs | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/Crow/src/Interface.cs b/Crow/src/Interface.cs index ac8c73d4..66aa0e69 100644 --- a/Crow/src/Interface.cs +++ b/Crow/src/Interface.cs @@ -76,26 +76,34 @@ namespace Crow init_internal (); } } - + static void nativeHelpMessage () { + } static IntPtr resolveUnmanaged(Assembly assembly, String libraryName) { - - switch (libraryName) - { - case "cairo": - 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": - return NativeLibrary.Load("rsvg-2", assembly, null); + try { + switch (libraryName) + { + case "cairo": + return NativeLibrary.Load("cairo-2", assembly, null); + /*case "glfw3": + return NativeLibrary.Load("glfw", assembly, null);*/ + case "rsvg-2.40": + return NativeLibrary.Load("rsvg-2", assembly, null); + } + } catch { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { + Console.ForegroundColor = ConsoleColor.DarkRed; + Console.WriteLine ("Native dlls required by crow cant be found."); + Console.ResetColor(); + Console.WriteLine ("You can download them here:"); + Console.ForegroundColor = ConsoleColor.Blue; + Console.WriteLine (" https://onedrive.live.com/download?cid=B3181664476E9B48&resid=B3181664476E9B48%21493&authkey=AJCso6KAKMCBfAM"); + Console.ResetColor(); + Console.WriteLine ("Then extract them in one of the following directories or in your project output directory."); + foreach (string dir in System.AppContext.GetData("NATIVE_DLL_SEARCH_DIRECTORIES").ToString().Split (';', StringSplitOptions.RemoveEmptyEntries)) + Console.WriteLine ($" - {dir}"); + } + Environment.Exit(0); } return IntPtr.Zero; } |