2

UltraDefrag をビルドしようとしています。

非常に単純に聞こえますが、rc.o をバイナリのリンク オブジェクトに追加するとすぐに、32 ビット バージョンの comctl32.dll が使用され、プログラムの起動時に 0xc0000007 エラーが発生します。

これは mingw64 の既知のバグですが、2011 年以降このバグに対する回答がなかったので、回避策が必要です(プログラムは cygwin.dll を使用しない必要があるため、cygwin を使用できません)

何か案は ?

4

1 に答える 1

1

これは、アプリケーション マニフェストでコモン コントロールの 32 ビット バージョンが明示的に指定されている場合に発生する可能性があります。

つまり、マニフェストには

<dependentAssembly>
<assemblyIdentity
    type="win32"
    name="Microsoft.Windows.Common-Controls"
    version="6.0.0.0"
    processorArchitecture="x86"
    publicKeyToken="6595b64144ccf1df"
    language="*"
/>

processorArchitecture を次のように変更する必要があります。

processorArchitecture="*"

それが問題の原因である場合、これは MinGW-w64 のバグではありません。

于 2015-12-21T14:29:54.487 に答える