Mesaの取り込み続き

Mesa取り込み難航中 - Higepon’s blogの続き


前回は実行時に、link errorになるという状態だったのですが

  • PEサーバに手を入れて詳細なエラーを調べる

という方針で進める。

Linking to TMPMLIBC.DLL to OSMESA.DLL

というエラー内容だ。

                int its = data->Parser.get_ImportTableCount();
                for (int j = 0; j < its; j++)
                {
                        CString dll = CString(data->Parser.GetImportTableName(j)).toUpper();
                        if (prompt) printf("%s: Linking %s to %s....", SVR, (const char*)dll, (const char*)data->Name);
                        PEParser* target = NULL;
                        for (int k = 0; k < len; k++)
                        {
                printf("%s : %s \n", (const char*)list->get(k)->Name, (const char*)dll);
                                if (list->get(k)->Name == dll)
                                {
                                        target = &list->get(k)->Parser;
                                        break;
                                }
                        }


このあたりっぽい。
PE Analyzerを使ってImport tableの依存関係を調べると

GEARS.EXE → OSMESA.DLL → TMPMLIBC.DLLという感じ。

今夜はここまで。