wxWindows の bcc(bcc32) を使ったインストールログ

乗法元 情報源が少ないので、とりあえずログを取っておこうと思った。

環境

  • W2k sp4
  • cygwin bash shell
  • borland c++ complier 5.5.1 (bcc32)
  • wxWindows 2.4.2 (zip archived)
  • 宗派はBorland教 :-)
  • wx使おうっていうのにGtkは好きじゃない 〜(〜v〜)〜

手順?

  1. ohp(http://wxwindows.org/)> Download > Windows > wxMSW.x.y.z.zip を落としてくる*1
  2. 適当なディレクトリに展開する*2。 $ unzip wxMSW.x.y.z.zip
  3. ohp の DL>Win に install-msw-2.4.2.txt ってファイルがあるので読むと吉*3
  4. ドキュメント237行目くらいに「Borland C++ 4.5/5.0/5.5 compilation」ってある*4ので、そこからやってみよう。
  5. cygwin起動、展開したディレクトリに移動しておく。
  6. 環境変数「WXWIN」に展開したパス名を追加しておく。CYGWINを使うから $ export WXWIN="`pwd`" としておいて、ダメなら後から直そうと思うこの頃*5
  7. $ cd src/msw; ln -s makefile.b32 makefile *6
  8. 試しに $ make clean ... 文法エラー? $ make -f makefile.b32 clean ... 文法エラー!? どこかに間違いがあるようだ、どこか知らないけど。
    予想するに、!if 〜 !endif あたりかもしれない。行番号はそこを指してるから。gnu make と、 borland make とどっち使っても同じだし…。gnu は文法エラー、borland は clean がない。tmake@qt は clean が無い。さてさて。
  9. 今度は、普通のDOS窓(not cygwin)でmakeる。今度は美味くいきそうな反応。もしかすると環境変数DOS型じゃないと通らないのかな?
    1. $ make -f makefile.b32 ... デバッグ用STATICライブラリ [wx32ds.lib]
    2. $ make -f makefile.b32 FINAL="1" ... リリース用STATICライブラリ [wx32s.lib]
  10. 結果、$WXWIN/lib にライブラリファイルが作成される。[wx24(d)s_bcc.lib]だったことから、「wx + (ver) + (Debug)(Static) _ (Compiler).lib」なんだろうなぁ。まあいいけど。
  11. 参考文献同様に、Sampleを困憊ろう。
    • make -f makefile.b32 で困憊ル。たぶん FINAL=1 でリリース版困憊ルをしてくれるだろう*7
    • あ、エラーで止まった。<−参考文献を読んでいない証拠。richedit が入ってないって。
  • 志向メモ
  • LIBについて

LIBディレクトリ内のファイルをLIBパスに手動コピーしても良さそう。その方が後腐れないかもしれない。

makeprog.b32,makeb32.envに詳しく載っているのでちょっと自己解説。
$(LIBS)には、wxUSE_GUIが入っていると、「winpng jpeg tiff」を使って、WXUSINGDLLが入ると「cw32mti」を、入らないと「cw32mt」を使い、「import32 ole2w32 regex zlib odbc32」はデフォで入る。そして最後にwx*_s(d)_bcc.libをリンクさせる。

  • 困憊る時のMAKEFILEオプション
wx_USE_GUI
GUIを使うか使わないかの選択で、デフォが使う。使う場合はライブラリとして「winpng jpeg tiff import32 ole2w32 regex zlib odbc32 cw32mt? wx*_s(d)_bcc.lib」が、使わないと「import32 ole2w32 regex zlib odbc32 cw32mt? wx*_s(d)_bcc.lib」がリンクされて、他には、GUIを使うときにはコンパイラに「/aa(DOS窓を表示させないオプションだったような気がする)」を、main関数オブジェクト?として、「c0w32.obj」とリソースファイルを。使わないときは「/ap(逆?)」をつけて、「c0x32.obj」を使って困憊るしている模様。
WXUSINGDLL
DLLかStaticかの選択。ライブラリが「cw32mti(DLL)」と「cw32mt(Static)」の差になる。
FINAL
リリース版かデバッグ版か、好きなほうのメインライブラリとCFLAGSを選べる。どっちかって言うと、「DEBUG」オプションを渡す方が好きなんだけどね。

おまけ
Line378周辺に BCBのコンポーネントとして困憊れるらしい。英文を眺めただけだから真実かは知らないよ。ワタシニッポンジンデスアル。

おまけ2
なんだか、当り障り無いディレクトリに丸ごと放り込んで、そこにPATH繋いだ方が早いんじゃないかなー?って思い始めて。FOXかFLTKも見てみないことには…。

おまけ3
見過ごしてたけど、実行ファイル1個で1.5MBはちょっと実用的な大きさじゃないよねー。

http://dot-gray.s33.xrea.com/index.xcg?page=bcc32%A4%D8%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB

*1:参考文献同様、exe archived は嫌い

*2:展開するディレクトリのフルパスに空白を含んではいけないとか、ダブルクォートとか噂は有る。忠実にアルファベットのみのパスにしよう

*3:参考文献曰く、$WXWIN/docs/msw/install.txt にある、と。内容は同じ。

*4:2.4.2の場合

*5:ログはログであって、成功の保証は無い、と断って置きますよ?

*6:参考文献では、"make -f makefile.b32"ってやれって言うから、sym-linkを作って、"make" で通るようにする

*7:デバッグ版ライブラリを取り込んでそうで。なんとなく失敗かなー。