38 #include "blocxx/BLOCXX_config.h"
39 #if defined(BLOCXX_USE_DL)
46 namespace BLOCXX_NAMESPACE
55 dlSharedLibraryLoader::loadSharedLibrary(
const String& filename)
const
65 void* libhandle = dlopen(filename.c_str(), RTLD_NOW | RTLD_GLOBAL);
67 String first_error = dlerror();
70 #if defined(BLOCXX_USE_FAKE_LIBS)
78 if ( dlSharedLibrary::isFakeLibrary(filename) )
80 libhandle = dlopen(NULL, RTLD_NOW | RTLD_GLOBAL);
84 second_error = dlerror();
98 "dlopen returned NULL. Error is: %1", first_error));
99 if ( !second_error.empty() )
101 BLOCXX_LOG_ERROR(logger, Format(
"dlSharedLibraryLoader::loadSharedLibrary (fakelib) "
102 "dlopen returned NULL. Error is: %1", second_error));
115 dlSharedLibraryLoader::~dlSharedLibraryLoader()
121 #endif // BLOCXX_USE_DL