2011-07-14 11 views
0

this questionと同じ問題が発生しています。regsrv32を使用してDLLを登録することはできませんが、リリースビルドのみで、デバッグビルドは正常に動作します。

ffmpeg(Ver 0.6.3)dll(AVCODEC-52.dll、AVFormat-52.dll、すべてmingw-get-inst-20110530を使用してMinGWでビルド)を使用する独自のDLLを持っています。 私はVC2008プロジェクトでdllとlibsを持っており、デバッグモードとリリースモードの両方でokをビルドし、okも実行します...しかし、regsvr32を使って登録しようとすると、リリース専用のエラー(Debugは正常に動作します)があります。 依存関係ウォーカーツールを使用してDLLを確認すると、このDLLは色が読みやすく、CoCreateInstance、CoInitialize ...(これはold32.dllの一部だと思います)を示しています..

minGWの下でffmpegのビルドの問題のいくつかの種類..しかし、ソリューションの詳細がありません..任意のヘルプや提案がうまく来ています。

答えて

0

VC++がDebugビルドとReleaseビルドに使用しているコマンドラインを比較してください。それらはプロジェクトのプロパティにリストされています。異常があるかどうか確認してください。

また、このスレッドでのデバッグの提案を試すことができます。DllRegisterServer error 0xc0000005, (C++ COM Dll). how do I debug my DllRegisterServer function in Visual Studio 2008?

+0

はOKが/ OPTのようになります。REFオプションは、リリースモードで設定されたと「デフォルト」のようにリンカー - >最適化を変更。..デバッグに設定し、 '/ OPT:REF'からの '/ OPT:REF'オプションを選択することができない理由を検索して、回避策を考えています。 FFMPEG dllはMinGWでビルドされているため、Visual Studioリンカーの最適化は好きではありません... – kirit

関連する問題