私はmingw32を使用してクロスコンパイルによって得られる別の2つのdllにリンクするウィンドウズdll(メインアプリケーションはこのウィンドウdllを直接ロードする)を持っています。
私はこのリンクで奇妙な問題に直面しています。
最初のクロスコンパイルで2つの関数があるとしますdll funcA_firstdll()とfuncB_firstdll() 同様に、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をリンクする方法はありますか?
どんな助けもありがとうございます。
よろしく、
Techtotie。
回答:
回答№1は0自分で解決しました。
これは実際にはmingwによって生成されたプロキシlibsがMSVCによって正しく解釈されなかった問題でした。
defファイルも生成しなければなりませんでした。このチュートリアルに従ってください
http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs