我正在开发一个在 Windows 上崩溃的跨平台 Firebreath 插件。我使用包含引用 boost.asio 的类的静态库。当我将此库与插件 dll 链接时,我观察到在与 io_service 子系统交互时(即在套接字构造期间)发生崩溃。当我将静态库链接到普通可执行文件时,不会出现问题。当我将静态库的内容直接编译到插件dll项目中时,crash并没有发生。我已经竭尽全力确保我在 Windows 上构建环境的所有方面都是一致的(构建模式、Visual Studio 版本等)。此外,我对 boost.asio 标头进行了防火墙保护,因此插件 dll 代码无法看到 boost.asio 子系统(不幸的是,vs2008 和 vs2010 无效)。据我所知,我已尽一切可能确保构建环境运行良好,但问题仍然存在。
社区能否就可能暴露或解决问题的潜在风险或方法提供任何建议?