Boost Firebreath插件在windows xp中的注册问题

Boost Firebreath插件在windows xp中的注册问题,boost,dll,windows-xp,firebreath,boost-signals,Boost,Dll,Windows Xp,Firebreath,Boost Signals,我正在使用firebreath在WindowsXP中使用VisualStudio2010开发一个浏览器插件。该插件使用boost信号、文件系统和系统、libcurl库 插件成功构建,但在使用regsvr32注册时出错: LoadLibrary("np<plugin name>.dll") failed. The specified procedure could not be found. LoadLibrary(“np.dll”)失败。找不到指定的过程。 在检查了一段时间后,

我正在使用firebreath在WindowsXP中使用VisualStudio2010开发一个浏览器插件。该插件使用boost信号、文件系统和系统、libcurl库

插件成功构建,但在使用regsvr32注册时出错:

LoadLibrary("np<plugin name>.dll") failed. The specified procedure could not be found. 
LoadLibrary(“np.dll”)失败。找不到指定的过程。

在检查了一段时间后,我发现如果我移除boost信号模块,插件就会注册。我在dependency walker中检查了插件dll,但没有丢失dll。虽然它在ADVAPI32.DLL和MPR.DLL中显示模块警告。有人能帮我解决这个问题吗,因为我无法从我的项目中删除信号模块?

正如FireBreath邮件列表中所讨论的,这可能是FireBreath在包含其boost子集时没有正确执行的操作。我建议您尝试自己构建和安装boost,然后在prep脚本上使用外部boost标志

您可以在firebreath网站的准备脚本页面上找到您需要的标志和其他标志

至少你需要使用“-D和系统”\u BOOST=1”;你可能也需要一些其他的

-D BOOST_ROOT="/path/to/boost" - set to path to your Boost installation
-D Boost_ADDITIONAL_VERSIONS="<versions>" - set specific Boost version (e.g. "1.43;1.43.0")
-D Boost_USE_STATIC_LIBS=on
-D Boost_USE_STATIC_RUNTIME=on should be used in windows to force linking to the boost libraries built with /MT(d).
-D BOOST\u ROOT=“/path/to/BOOST”-设置为BOOST安装的路径
-D Boost_ADDITIONAL_VERSIONS=“”-设置特定的Boost版本(例如“1.43;1.43.0”)
-D Boost\u USE\u STATIC\u LIBS=on
-D Boost\u USE\u STATIC\u RUNTIME=on应在windows中使用,以强制链接到使用/MT(D)构建的Boost库。

有人知道boost signals是否需要一个特殊的定义或任何东西才能在windows xp上工作吗?我也遇到了同样的问题,我尝试构建和安装boost 1.53,并使用上面的标志构建我的firebreath项目。XP仍然无法加载插件。关于这个问题有更多的信息吗?