Salome HOME
Copyright update 2022
[modules/yacs.git] / src / bases / DynLibLoaderWin.cxx
index 301eda41ca155f1c20999f1ceba1abeab7ffe85b..d32b94561caacd266bbf7b767f6a52abf3239094 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2006-2022  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -86,7 +86,16 @@ bool DynLibLoaderWin::load()
 {
   std::string fullLibName(_libName);
   fullLibName+=_extForDynLib;
-  _handleOnLoadedLib=LoadLibrary(fullLibName.c_str());
+#if defined(UNICODE) && defined(WIN32)
+  size_t length = strlen(fullLibName.c_str()) + sizeof(char);
+  wchar_t* aPath = new wchar_t[length + 1];
+  memset(aPath, '\0', length);
+  mbstowcs(aPath, fullLibName.c_str(), length);
+#else
+  const char* aPath = fullLibName.c_str();
+#endif
+
+  _handleOnLoadedLib=LoadLibrary(aPath);
   return _handleOnLoadedLib != NULL;
 }