2

Windows XP で Visual Studio 2010 を使用して firebreath を使用してブラウザー プラグインを開発しています。プラグインはブースト信号、ファイルシステムとシステム、libcurl ライブラリを使用します。

プラグインは正常にビルドされますが、regsvr32 を使用して登録中にエラーが発生します。

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

しばらく確認したところ、ブースト信号モジュールを削除すると、プラグインが登録されることがわかりました。依存関係ウォーカーでプラグイン dll を確認しましたが、欠落している dll はありませんでした。ADVAPI32.DLL と MPR.DLL でモジュールの警告が表示されましたが。プロジェクトからシグナルモジュールを削除できないため、この問題の解決を手伝ってくれる人はいますか?

4

1 に答える 1

0

FireBreath メーリング リストで議論されているように、これは、firebreath がブーストのサブセットを含めたときに正しく動作していない可能性があります。自分でブーストをビルドしてインストールしてから、準備スクリプトで外部ブースト フラグを使用することをお勧めします。

firebreath Web サイトの Prep Scripts ページで、prep スクリプトに必要なフラグやその他のフラグを見つけることができます。

少なくとも、「-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).
于 2012-12-08T18:31:27.117 に答える