Flex 4 SDK でコンパイルしている純粋な Action Script 3 プロジェクトがあります。必要に応じて、compc、mxmlc、および asdoc を自動的に呼び出す標準の Makefile があります。私の Mac OS X 10.4 以降のコンピュータでは、プロジェクトはエラーや警告なしで正常にコンパイルされています。ただし、Windows XP (Cygwin がインストールされている) で開発している同僚と共有すると、「互換性のない署名」エラーの非常に大きなリストが表示されます。なぜ彼はそれらのエラーを受け取っているのですか? 署名に互換性がないようです。
注: 問題の署名は「オリジナル」と「エクスポート」であり、次のように使用されます。
パブリック インターフェイス AbstractX
{
    関数 original() : オブジェクト;
    関数 export() : オブジェクト
}
public クラス ImportX は AbstractX を実装します
{
    public ImportX(obj : オブジェクト) {
        _loadedobj = obj;
        _exportobj = obj.export();
    }
    public static function wrap(obj : Object) : AbstractX {
        var 結果: AbstractX = null;
        if ( obj != null ){
            if ( obj は AbstractX ){
                結果 = obj as AbstractX;
            }else if ( obj.original() is AbstractX ){
                結果 = obj.original() as AbstractX;
            }そうしないと{
                結果 = 新しい ImportX(obj);
            }
        }
        結果を返します。
    }
    public function original() : オブジェクト {
        _loadedobj を返します。
    }
    public function export() : オブジェクト {
        _exportobj を返します。
    }
    プライベート var _loadedobj : オブジェクト = null;
    プライベート var _exportobj : オブジェクト = null;
}
public class X は AbstractX を実装します
{
   public function X() : void {
      //...
   }
   public function original() : オブジェクト {
       これを返します。
   }
   public function export() : オブジェクト {
       if ( ! _export ){
           _export = 新しい ExportX(これ);
       }
       _エクスポートを返します。
   }
   プライベート var _export : オブジェクト = null;
}