English Version

jjLibrary Document

Last updated: 2007-05-01
Created: 2003-01-29




by Fumisky Wells

Contents

  1. What's New
  2. 概要
  3. インストール
  4. 環境
  5. フィードバック
  6. リリース・ノート

What's New


OverView

C++ 用ライブラリ "jj" は下記3つのサブカテゴリから構成されます: 詳細は、それぞれの文書を参照してください。

jj の成り立ち

もともとは 「C++操縦法」 にあるコンテナクラスを書いてみたのがそもそもの jj の成り立ちです。 結構有用だと感じたので公開した次第です。

errno, CGI は、pattern のバージョンアップにともない追加したものです。

なお、"jj" の由来は、原著 「C++操縦法」 が名前衝突回避用のためのプリフィックスとしてクラス名などの頭に ZZ をつけていたのに習って自分のライブラリにプリフィックス jj をつけていた ところから来ています。

諸権利

この分野は詳しくないので、とりあえず GPL に準拠することにします。 (笑))。

なお、このライブラリは無保証です。 このライブラリを使用した事からくるあらゆる損害に関して、 当方では一切責任は持ちません。


Install

この章は下記の節に別れています:
  1. 通常の方法
  2. FastCGI 対応ライブラリの構築方法
  3. HP-UX11 + ANSI C++ に関する注意
以下、詳細です:
  1. 通常の方法
    Ver1.5 から、configure を採用しましたので、インストールのステップは:
    ./configure --prefix=/opt/jj-#.#
    make
    make install
    となります。

    なお、configure の --prefix オプションは任意なので、/opt/jj-#.# 以外でも かまいません(個人的には /opt/jj-#.# をおすすめします)。

  2. FastCGI 対応ライブラリの構築方法
    非常に原始的な方法ですが、とりあえず下記の方法で FastCGI にも対応した jjLibrary を構築することができます:
    1. configure の前に、{R}/Makefile.in の文字列 libjj を libjjf に変えます。注:一行だけではないので注意してください。
    2. 通常通り ./configure します。
    3. R/cgi/Makefile の "CXXFLAGS =" の行に -DFOR_FCGI を追加します:
      CXXFLAGS = -g -02 -DFOR_FCGI
      ここで、R はソースパッケージの ルートディレクトリを表しています。

      注: FCGI の includeパスが標準のパス(/usr/includeなど)でない 場合は、この CXXFLAGS で -Ifcgi_include_path を 追加しておきます。

    4. 念のため、R/cgi/ で make clean しておきます。
    5. R/ で make; make install します

  3. HP-UX11 + ANSI C++ に関する注意
    1. 私の開発環境の configure だと、なぜか HP-UX11 + ANSI C++ (以下、aC++)への移植では、aC++を認識してくれませんでした。 なので、 下記のように明示的にコンパイラを指定してやる必要があります:
      $ CXX=/opt/aCC/bin/aCC ./configure options...
    2. aC++ でコンパイルしたオブジェクトファイルは、 aC++ コンパイラドライバでリンクしないといけません (共有ライブラリ作成時、 グローバル変数の仮想関数表へのポインタがされない、 などの問題が発生します)。ところが、私の開発環境の libtool は、自動的に aC++ を指定してはくれず、単純に ld での リンクとなっており、実行時に問題が発生します。 この問題に気付くにはずいぶん時間がかかってしまいました。

      対処法として、configure 後に、R/libtool を 2個所手で修正します (どなたか、もっとスマートな方法をご存じでしたら 教えてください)。

      1. 73行め辺りの
        LD="/usr/bin/ld"
        LD="/opt/aCC/bin/aCC"
        とします。
      2. 184行目辺りの
        archive_cmds="\$LD -b +h \$soname +b \$install_libdir -o...
        の下線部分を削除します。

Environment

動作確認ができた環境をここに書きます。
OS Version C++
Linux Vine Linux 3.2CR g++ 3.3.2
HP-UX 11.00 aC++ 3.50

Feedback

ご意見・ご質問・フィードバックをお聞かせ下さい。 http://sourceforge.net/users/fwells00/ までお願いします。

お願い:jjPattern に関する質問は Dr.Jiri Soukup に 決してしないで下さい。

Welcome your feedback!


SourceForge.net Logo