0

mingw32 を使用してクロスコンパイルすることによって取得される別の 2 つの dll にリンクする Windows dll (メイン アプリケーションがこの Windows dll を直接ロードする) があります。

このリンクで奇妙な問題に直面しています。

最初のクロス コンパイルされた dll funcA_firstdll() と funcB_firstdll() に 2 つの関数があり、同様に 2 番目のクロス コンパイルされた dll funcC_secdll() と funcD_secdll() に 2 つの関数があるとします。Windows のメイン DLL とリンクする場合、リンカー エラーは発生しませんが、DLL がロードされません。

そのため、依存関係ウォーカーを使用して Windows dll の依存関係を確認すると、最初と 2 番目の両方のクロス コンパイルされた dll が赤色で表示されます。

最初のクロス コンパイルされた dll をクリックすると、その dll(funcA_firstdll() および funcB_firstdll() ) に存在する関数が緑色で表示され、2 番目のクロス dll(funcC_secdll() および funcD_secdll()) が赤色で表示されます。同様に、2 番目のクロス コンパイルされた dll をクリックすると、その dll に存在する関数 (funcC_secdll() および funcD_secdll()) が緑色で表示され、最初のクロス dll が赤色で表示されます。

なぜ相互リンクできないのか理解できません。クロス コンパイルされた dll をリンクする別の方法はありますか。

どんな助けでも大歓迎です。

よろしく、

テクトティー。

4

1 に答える 1