原因判明

前回のAllegorCLで生成したアプリのランタイムエラーの原因がやっと判明.原因は,compile-fileが含まれるということではなく,いつの間にかコンパイラを呼び出す関数(マクロ?)を呼び出すプログラミングになっていた模様.まあ,Lispですから.
OpenGL(GLUT)アプリケーションなので,コールバック関数を登録しないといけないが,GLUTオブジェクト指向ではない.そこで呼び出されるlisp関数を生成するマクロff:defun-foreign-callableをGLUTのWindowのためのCLOSオブジェクトを生成するたびにevalするようにしていたことが原因.マルチウィンドウは実は使ってないけど,将来を考えて,ついついそうしてしまっていた.
コールバック関数を1つだけに変更して修正完了.これでうまく動くようになった!と思いきや,新たな実行時エラーが発生.

GLUT Fatal Error: glutInit can't open GLUT.nib

意味不明なので,「glutInit can't open GLUT.nib」で検索するとADCのglutのページ1件だけにヒット.

void APIENTRY glutInit(int *argcp, char **argv)
{
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
      /* Initialize our application instance */
   NSApp = [GLUTApplication sharedApplication];
   if (![NSBundle loadNibNamed:@"GLUT" owner:NSApp]) {
      __glutFatalError("glutInit can't open GLUT.nib"); // will exit
   }

うーん,nibって何?