SSブログ

XLISP-STAT を Windows でコンパイルする方法 [Lisp]

XLISP-STAT を Windows でコンパイルする場合の注意点。単なる備忘です。

コンパイラには Borland C++ 5.5 を使います。ソースは [1] の xlispstat-3-52-20.tar.gz をダウンロードして入手します。最初からバイナリがほしければその下の mswin ディレクトリにコンパイル済みバイナリ(WXLS32ZP.EXE が32ビット版)があります。

このソースを適当な場所に解凍して中の msdos ディレクトリまで降りて makefile の BCDIR を bcc のルートディレクトリに書き換えて make を実行するというのが基本的な手順ですが、2箇所はまりどころがありました。

1. リソースファイルのデコード

アイコンやカーソルなどのリソースファイルはそのままの形ではなく .uu という拡張子で icons ディレクトリや cursors ディレクトリに存在しています。これは uuencode 形式なのでデコードしてやる必要がありますが、ただ make してもやってくれません。Windows には uudecode は付いていないので以下のような Tcl スクリプトを書いてデコードしました。

package require uuencode

set uu [::uuencode::uudecode -file [lindex $argv 0]]
set fn [lindex [lindex  $uu 0] 0]
set bin [lindex [lindex  $uu 0] 2]
set f [open $fn w]
fconfigure $f -encoding binary
puts -nonewline $f $bin
close $f

2. コンパイルオプションの一部変更

そのままの makefile でビルドすると最後の最後で以下のように言われてしまいます。

Error: 外部シンボル '_errno' が未解決(D:\XLISPSTAT-3-52-20\MSDOS\XLFIO.OBJ が参照)

これは makefile 内の CFLAGS の -W を -WM に変えると通るようになります。

[1] ftp://ftp.stat.umn.edu/pub/xlispstat/current/


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。