我想加载一个dll实例,解析它的导出符号并在包装类中使用它。这是我的方式:
WrapperImpl::WrapperImpl( const std::string& libName )
{
boost::filesystem::path libPath( boost::filesystem::current_path());
libPath /= libName;
m_lib.load(libPath);
m_lib.unload();
}
其中boost::dll::shared_library m_lib;
我在unload()调用时遇到死锁,没有抛出任何异常。我看到dll已成功加载,所有符号都已解析,我可以调用它们并获得合理的返回码。但卸载有什么问题?
我有一个单线程应用程序(实际上它是一个增强测试单元),增强1.61,mingw 4.9.2。任何人都可以给我一个暗示吗?