Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU -
目次 索引 前ページ次ページ

第4章 ルーチンを利用するアプリケーションの作成> 4.2 ファンクションルーチンを利用する場合> 4.2.4 ライブラリの作成

4.2.4.2 ライブラリとして登録するCプログラムのコンパイル・リンク

ファンクションルーチンのライブラリは、動的リンクライブラリとして作成します。

動的モードを指定して共有オブジェクトを作成します。

  cc  -KPIC -G  -o  <ライブラリ名>  <ソースファイル名>...

作成したライブラリは、ファンクションルーチン定義文のLIBRARY句で指定するディレクトリに格納してください。

  cc -KPIC -G -o /usr/local/lib/libuserfunc001.so  userfunc001.c

SQLSignalMSG関数を使用する場合は、ライブラリlibsqlsigm.soを動的結合する必要があります。また、インクルードファイルsqlsigm.hをインクルードする必要があります。

 

  cc -KPIC -G -o /usr/local/lib/libuserfunc001.so
   -L/opt/FSUNrdb2b/lib  -lsqlsigm  -I/opt/FSUNrdb2b/include 
        (1)                  (2)              (3)
   userfunc001.c

(1) RDBライブラリパス指定

(2) RDBライブラリ名

(3) RDBインクルードパス指定

動的モードを指定して共有オブジェクトを作成します。

  gcc  -fPIC -shared  -o  <ライブラリ名>  <ソースファイル名>...

作成したライブラリは、ファンクションルーチン定義文のLIBRARY句で指定するディレクトリに格納してください。

  gcc -fPIC -shared -o /usr/local/lib/libuserfunc001.so  userfunc001.c

SQLSignalMSG関数を使用する場合は、ライブラリlibsqlsigm.soを動的結合する必要があります。また、インクルードファイルsqlsigm.hをインクルードする必要があります。

 

  gcc -fPIC -shared -o /usr/local/lib/libuserfunc001.so
     -L/opt/FJSVrdb2b/lib  -lsqlsigm  -I/opt/FJSVrdb2b/include 
           (1)                  (2)              (3)
     userfunc001.c

(1) RDBライブラリパス指定

(2) RDBライブラリ名

(3) RDBインクルードパス指定

Dynamic-Link Libraryを作成します。

Microsoft(R) Visual Studioでの作成手順の例を以下に示します。

  1. [ファイル(F)]メニューから、[新規作成(N)]で[プロジェクト(P)]を選択します。

  2. [新しいプロジェクト]ウインドウにて、[プロジェクトの種類(P)]で[Visual C++]の[Win32]を選択し、[テンプレート(T)]で[Win32 プロジェクト]を選択します。

  3. [新しいプロジェクト]ウインドウにて、[プロジェクト名(N)]を指定し、[場所(L)]にライブラリ作成場所を指定します。[ソリューションのディレクトリを作成(D)]のチェックボックスのチェックを外します。[OK]を選択します。

    プロジェクト名 = USERFUNC001
    位置 = D:\FORSYMFO\FUNCMAKE\USERFUNC001

    指定した位置に、作成したCプログラムファイルを格納しておきます。

  4. [Win32 アプリケーション ウィザード]ウインドウの[Win32 アプリケーション ウィザードへようこそ]の画面にて[次へ>]を選択します。

  5. [Win32 アプリケーション ウィザード]ウインドウの[アプリケーションの設定]の画面にて、[アプリケーションの種類]で[DLL]を選択します。[追加オプション]で[空のプロジェクト(E) ]のチェックボックスをチェックします。[完了]を選択します。

  6. [プロジェクト(P)]の、[既存項目の追加(G)]から、作成したCプログラムファイルをプロジェクトに追加します。

    D:\FORSYMFO\FUNCMAKE\USERFUNC001\USERFUNC001.C
  7. ファンクションルーチンのライブラリ内でSQLSignalMSG関数を使用する場合は、ライブラリF3CWSQLSIGM.LIBを結合する必要があります。さらに、インクルードファイルSQLSIGM.Hをインクルードする必要があります。

    1. [プロジェクト(P)]から[プロパティ(P)]を選択し、[構成プロパティ]の[リンカ]の[入力]を開いて、[追加の依存ファイル]の指定にライブラリ名F3CWSQLSIGM.LIBを追加します。

    2. [ツール(T)]から[オプション(O)]を選択し、[プロジェクトおよびソリューション]の[VC++ ディレクトリ]を開きます。

    3. [ディレクトリを表示するプロジェクト(S)]に“インクルードファイル”を選択して、[ディレクトリ]にx:\SFWSV\ESQL\INCLUDEが指定されていることを確認します。指定されていなければ、指定を追加します。

    4. [ディレクトリを表示するプロジェクト(S)]に“ライブラリファイル”を選択して、[ディレクトリ]にx:\SFWSV\ESQL\LIBが指定されていることを確認します。指定されていなければ、指定を追加します。

    3)および4)における“x”には、Symfoware/RDBをインストールしたドライブ名を指定します。

  8. [ビルド(B)]から[ソリューションのビルド(B)]を選択して、ライブラリを作成します。

  9. 作成したライブラリを、ファンクションルーチン定義文のLIBRARY句で指定するディレクトリに格納します。

    D:\FORSYMFO\FUNCMAKE\USERFUNC001\RELEASE\USERFUNC001.DLL
                 ↓ 複写
    D:\FORSYMFO\FUNCLIB\USERFUNC001.DLL

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007-2008