30

私の知る限り、異なるバージョンの GCC の Application Binary Interface (ABI) を使用するライブラリをリンクすることはできません。GCC のすべてのバージョンに ABI の変更はありますか? たとえば GCC 4.3.2 を使用している場合、4.3.1 でビルドされたライブラリをリンクすることはできますか? GCC のバージョンを組み合わせる方法をすべてリストしたマトリックスはありますか?

4

3 に答える 3

20

gcc-3.4.0 以降、ABI は前方互換性があります。つまり、古いリリースを使用して作成されたライブラリは、新しいリリースとリンクでき、動作するはずです (逆は機能しません)。明らかに、バグがある可能性がありますが、ドキュメントで言及されているのは1 つだけです: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33678

于 2010-05-10T13:14:39.453 に答える
16

公式のABIページはABIcheckを指しています。このツールは、あなたが望むことをするかもしれません。

于 2010-05-10T12:23:06.237 に答える