2
votes

I'm using firebreath to develop a browser plugin in windows xp using visual studio 2010. The plugin uses boost signals, filesystem and system, libcurl libraries.

The plugin builds successfully but gives error while registering it using regsvr32:

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

After checking for a while, I found that if I remove the boost signals module, the plugin gets registered. I checked the plugin dll in dependency walker but there were no missing dlls. Though it showed module warning in ADVAPI32.DLL and MPR.DLL. Can anyone help me to solve this problem because I can't remove signals module from my project?

1
Anybody know if boost-signals needs a special define or anything to work on windows xp? - taxilian

1 Answers

0
votes

As discussed on the FireBreath mailing list, this could be something that firebreath isn't doing correctly when including its subset of boost. I would recommend trying to build and install boost yourself and then use the external boost flags on the prep script.

You can find the flags you need and others for prep scripts on the Prep Scripts page on the firebreath website.

At the very least you'll need to use "-D WITH_SYSTEM_BOOST=1"; you might need some of the other ones too.

-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).