私はmingwとlinuxのクロスコンパイルを使ってWin32用のプラグインを開発しています。私のプラグインはアプリケーションによって正常に読み込まれていて、アプリからもcom-interfaceを持っていましたが、そこから関数を呼び出すことはできません - アプリケーションがクラッシュします。これは、mingwのインターフェイス実装のvtableのアライメントが間違っているためです(これはMSVSと完全に機能していました)。仮想関数の配置方法は?
ありがとうございます、ありがとうございます。
COMもABIですが、MinGWがこれほど簡単にサポートしていないものもあります。 COMはWin32の主要な部分であるため、MinGWが非常に難しくなっていることに驚いています(COMは、(あまり真実ではありません))仮定に基づいています。しかし、他のC++コンパイラではCOMをうまくサポートしていますので、Cや同じコンパイラを使う必要はありません; Windowsの場合はまともなC++コンパイラです)もちろん、COMをまっすぐなCでもIDLコンパイラは一般的にCインタフェースも定義しています)。 –