From 77418a6bd269b581ac6e0fabb1a1d0bac04e6d90 Mon Sep 17 00:00:00 2001 From: Yue Yang Date: Mon, 25 Mar 2024 21:15:51 +0800 Subject: [PATCH 1/2] Use LoadLibraryExA for more robust library loading --- src/Common/IpLibraryLoader.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Common/IpLibraryLoader.cpp b/src/Common/IpLibraryLoader.cpp index fb1729e81..8a5d17063 100644 --- a/src/Common/IpLibraryLoader.cpp +++ b/src/Common/IpLibraryLoader.cpp @@ -51,6 +51,12 @@ void LibraryLoader::loadLibrary() #ifdef HAVE_WINDOWS_H libhandle = (void*)LoadLibrary(libname.c_str()); + + if( libhandle == NULL ) + { + libhandle = (void*)LoadLibraryExA(libname.c_str(), NULL, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); + } + if( libhandle == NULL ) { std::stringstream s; From f5ac6187fe4080b6481b75e6934c7dd7965ab552 Mon Sep 17 00:00:00 2001 From: metab0t Date: Mon, 25 Mar 2024 21:40:48 +0800 Subject: [PATCH 2/2] Remove the LoadLibrary call --- src/Common/IpLibraryLoader.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/Common/IpLibraryLoader.cpp b/src/Common/IpLibraryLoader.cpp index 8a5d17063..2ad3bc97e 100644 --- a/src/Common/IpLibraryLoader.cpp +++ b/src/Common/IpLibraryLoader.cpp @@ -50,13 +50,8 @@ void LibraryLoader::loadLibrary() } #ifdef HAVE_WINDOWS_H - libhandle = (void*)LoadLibrary(libname.c_str()); + libhandle = (void*)LoadLibraryExA(libname.c_str(), NULL, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); - if( libhandle == NULL ) - { - libhandle = (void*)LoadLibraryExA(libname.c_str(), NULL, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); - } - if( libhandle == NULL ) { std::stringstream s;