2012-03-02 8 views
4

Adob​​e SDKを使用してカスタムInDesignプラグインを開発しようとしています。私はBoost.Filesystemからいくつかの機能を追加するまでは問題ありませんでした。 boost_filesystemboost_systemをソリューションに静的にリンクすると、すべてがビルドされ、プラグインはコンパイルされますが、InDesignではロードされません。それらを削除すると、再びInDesignに表示されます。なぜ誰がそれが起こるのか、この問題を解決する方法を知っていますか?Boost.FilesystemのInDesignプラグインがプログラムに表示されない

+0

あなたはどのOSですか?問題をデバッグするために何をしましたか?コンソールログに何か書かれていますか?プラグインがロードされていないことをどのように知っていますか?それはロードされている可能性がありますが、何とかそれは機能を実行することはできませんアプリを教えて?これまでに何を試しましたか? – user1118321

+1

DUMPBIN/DEPENDENTSを使用してプラグインの依存関係をチェックしてみると、dllがいくつかのライブラリとダイナミックにリンクされている可能性があります。 –

答えて

1

ブーストは、Cランタイム

にCランタイムまたはダイナミックリンクへの静的リンクを構築することができる便利な多分私はあなたがCランタイム bjam --withへのリンクを静的すべきだと思うれるブーストビルドコマンドをチェックします-filesystem --with-のsytem静的ランタイム・リンク=静的リンク=

+0

これは実際にこの問題でしたが、私はまだその理由を伝えることはできません。さらに説明できますか? – Archie

+0

まず、プログラムをCランタイムにリンクする必要があります。次に、Cランタイムにダイナミックリンクするときに、CランタイムDLLをターゲットコンピュータにデポジットし、Cランタイムを無効にしないと、プログラムは実行されません。そのための「イベントログ」を参照してください。だから、Cランタイムへの静的なリンク、あなたのアプリは何も扶養家族を持っていない、それはOKを実行する必要があります。ちなみに、静的リンクはバイナリサイズを増やします。 – jia

0

あなたが実行可能なのInDesignからあなたのブーストlibが含まれている必要があります あなたが/のAdobe InDesignのCS5.app/Contents/FrameworksにMac上でそれらを見つけることができます