2

私は MinGW32 を使用してライブラリをコンパイルし、プログラムに静的にリンクしています。

コンパイラを TDM-GCC に変更した場合、古いライブラリは TDM でコンパイルされた新しいプログラムとリンクしますか? それとも、新しいコンパイラですべてをコンパイルする必要がありますか?

ありがとう

4

1 に答える 1

1

あなたの質問への答えは、ライブラリが何であるか、およびそれらにどのようにリンクするかによって大きく異なります。

ライブラリが DLL のインポート ライブラリである場合は、再コンパイルする必要がない場合があります。ただし、DLL がホスト実行可能ファイルと同じ C++ ランタイムにリンクする必要がある場合、ホスト実行可能ファイルが DLL とは異なるランタイムを使用する場合は、再コンパイルする必要があります。

ライブラリがスタティック ライブラリである場合、スタティック ライブラリがリンク先のプログラムとは異なる C++ ランタイムに対してリンクされている場合は、再コンパイルする必要があります。

于 2013-12-29T17:10:30.880 に答える