2012-12-08 34 views
2

我使用firebreath在Windows XP中使用Visual Studio 2010开发浏览器插件。该插件使用升压信号,文件系统和系统,libcurl库。Firebreath插件注册在Windows XP中的问题

插件成功生成,但给出了错误,而使用REGSVR32注册它:

LoadLibrary("np<plugin name>.dll") failed. The specified procedure could not be found. 

检查一段时间后,我发现,如果我删除了升压信号模块,插件被注册。我检查了依赖walker中的插件dll,但没有丢失dll。尽管它在ADVAPI32.DLL和MPR.DLL中显示了模块警告。任何人都可以帮助我解决这个问题,因为我无法从我的项目中删除信号模块?

+1

有人知道升压信号是否需要一个特殊的定义或任何工作在Windows XP上? – taxilian

回答

0

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

您可以在firebreath网站上的“预备脚本”页面上找到您需要的标志和0123'的其他标志。

至少你需要使用“-D WITH_SYSTEM_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). 
+0

我遇到了同样的问题,我尝试过构建和安装boost 1.53,并使用上面的标志构建了我的firebreath项目。 XP仍然无法加载插件。有没有关于这个问题的更多信息? – Joel