Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編)
目次 索引 前ページ次ページ

第4章 サーバアプリケーションの開発(CORBAアプリケーション/C言語)

4.4 ソースのコンパイル・リンク

IDLファイルのコンパイル

 IDLファイルをコンパイルすることにより、クライアント、サーバそれぞれのアプリケーションの言語に合わせたスタブファイルとスケルトンファイルを作成できます。IDLファイルのコンパイルは、IDLcコマンドを使用します。スタブ、スケルトンをC言語に対応させる場合のIDLcコマンドの使用例を以下に示します。IDLcコマンドの詳細については、“リファレンスマニュアル(コマンド編)”を参照してください。

 IDLc -C test1.idl


スケルトンとサーバアプリケーションのソースとのコンパイル・リン

 サーバアプリケーションのソースとスケルトンのコンパイル方法、およびリンク方法について説明します。
 C言語でアプリケーションを作成した場合について、コンパイルとリンクの手順の流れを以下に示します。

  1. IDLファイルをIDLコンパイラで翻訳します。IDLコンパイラはスタブおよびスケルトンの2つのファイルを作成します。サーバアプリケーションを作成する際にはスケルトンファイルを使用します。
  2. 初期化処理部とユーザサービス処理部を含むサーバソースファイル、サーバ管理ライブラリ、XA連携用プログラム、データベースライブラリおよび1で作成したスケルトンをコンパイル、リンクしサーバアプリケーションを作成します。

 サーバアプリケーションとスケルトンをコンパイル、リンクする方法について例を以下に示します。

[コンパイル・リンクの例]

 以下の表に示すオプションを設定してください。

Microsoft(R) Visual C++(R) .NET Standard/Microsoft(R) Visual C++(R) .NET Standard 2003/ Microsoft(R) Visual Studio 2005 の場合は、[プロジェクト]-[プロパティ]-[構成プロパティ]-[C/C++]で設定画面を表示することができます。

カテゴリー

項目

設定値

コード生成(Code Generation)

構造体メンバのアライメント(Struct Member Byte Alignment)

4バイト

使用するランタイム

マルチスレッド(DLL)

プリプロセッサ(Preprocessor)

プリプロセッサの定義

(Symbols and Macros to Define)

"OM_PC", "OM_WIN32_BUILD",

"__STDC__" を追加

 また、コンパイル時に利用するインクルードファイルおよびライブラリファイルの格納ディレクトリを登録してください。
 Microsoft(R) Visual C++(R) .NET Standard/Microsoft(R) Visual C++(R) .NET Standard 2003の場合は、[ツール]-[オプション]-[Projects]-[VC++ ディレクトリ]の「インクルード ファイル」、「ライブラリ ファイル」で設定画面を表示することができます。
 Microsoft(R) Visual Studio 2005の場合は、[ツール]-[オプション]-[プロジェクトおよびソリューション]- [VC++ ディレクトリ]の「インクルード ファイル」、「ライブラリ ファイル」で設定画面を表示することができます。

登録例)
(VC++およびInterstageを、それぞれC:\MSDEVおよびC:\INTERSTAGEにインストールした場合)

− インクルードファイル
  C:\MSDEV\INCLUDE;C:\MSDEV\MFC\INCLUDE;C:\INTERSTAGE\OTS\INCLUDE

− ライブラリファイル
  C:\MSDEV\LIB;C:\MSDEV\MFC\LIB;C:\INTERSTAGE\OTS\LIB

[Windows(R)用サーバライブラリ]

 以下に示すライブラリは必須ライブラリです。

ライブラリ名

使用用途

格納先

fjotsld.obj

C言語、C++言語、COBOLのサーバアプリケーションの運用環境用、データベースアクセスアプリケーション用

%OTS_HOME%\lib

libservapl.lib

C言語、C++言語、COBOLのサーバアプリケーションの運用環境用、データベースアクセスアプリケーション用(注)

%OTS_HOME%\lib

libtacebasent.lib

C言語、C++言語、COBOLのサーバアプリケーションの運用環境用、データベースアクセスアプリケーション用

%OTS_HOME%\lib

libservaplcnt.lib

C言語の中継サーバアプリケーションの運用環境用(注)

%OTS_HOME%\lib

(注)
 
この2つのライブラリを同時に使用する必要はありません。詳細は、“中継アプリケーションの作成について”についてを参照してください。


 データベース連携サービスのライブラリは、CORBAサービスのライブラリよりも先にをリンクしてください。

[コンパイル・リンクの例]

 以下にC言語でOracleを使用した場合のリンクパラメタを示します。なお、Oracleのインストール先を/opt/oracleとしています。
 ccコマンドは、Sun WorkShop 4.2シリーズ、Sun WorkShop 5.0シリーズ、Forte Developer 6シリーズ、Sun ONE Studio 7シリーズ、Sun ONE Studio 8シリーズ、Sun Studio 9から提供されているものを利用してください。

 \: 継続行を示します。

cc -O test1_s.c -o test1_s test1_s.o test1_skel.o /opt/FSUNots/program/xa/libotsxaora.o  \
   -L/opt/FSUNots/lib  -lservapl -ltacebasent   -L/opt/oracle/lib -lclntsh       \
   -L/opt/FSUNod/lib/nt  -lOM  -L/opt/FSUNod/lib -lOMcn                         \
-I/opt/oracle8/precomp/public                         \
   -I/opt/FSUNots/include  -I/opt/FSUNod/include

 以下にC言語でSymfoware/RDBを使用した場合のリンクパラメタを示します。Symfoware/RDBのインストール先デイレクトリを/opt/FSUNrdb2bとしています。

  cc -O test1_s.c -o test1_s test1_s.o test1_skel.o                               \
  /opt/FSUNots/program/xa/libotsxasym.o \
  -L/opt/FSUNots/lib -lservapl -ltacebasent -L/opt/FSUNrdb2b/lib -lsqldrv -lrdbxa  \
  -L/opt/FSUNod/lib/nt -lOM -L/opt/FSUNod/lib -lOMcn -I/opt/FSUNots/include  -I/opt/FSUNod/include         

[UNIX用サーバライブラリ]

 以下に示すライブラリは必須ライブラリです。

ライブラリ名

使用用途

格納先

libservapl.so

C言語、C++言語、COBOLのサーバアプリケーションの運用環境用、データベースアクセスアプリケーション用(注1)

$OTS_HOME/lib

libtacebasent.so

C言語、C++言語、COBOLのサーバアプリケーションの運用環境用、データベースアクセスアプリケーション用

$OTS_HOME/lib

libservaplcnt.so

C言語、C++言語、COBOLのサーバアプリケーションの運用環境用、中継サーバアプリケーション用(注1)

$OTS_HOME/lib

libotsxaora.o

Oracle用のXA連携用プログラムでC言語、C++言語、COBOLのサーバアプリケーションおよびリソース管理プログラムの運用環境用(注2)

$OTS_HOME/program/xa

libotsxasym.o

Symfoware/RDB用のXA連携用プログラムでC言語、C++言語、COBOLのサーバアプリケーションおよびリソース管理プログラムの運用環境用(注2)

$OTS_HOME/program/xa

libotsxamqd.o

MQD用のXA連携用プログラムでC言語、C++言語、COBOLのサーバアプリケーションおよびリソース管理プログラムの運用環境用(注2)

$OTS_HOME/program/xa

libotsxamqd_ora.o

MQDとOracle用のXA連携用プログラムでC言語、C++言語、COBOLのサーバアプリケーション運用環境用(注2)

$OTS_HOME/program/xa

libotsxamqd_sym.o

MQDとSymfoware/RDB用のXA連携用プログラムでC言語、C++言語、COBOLのサーバアプリケーション運用環境用(注2)

$OTS_HOME/program/xa

(注1)

 この2つのライブラリを同時に使用する必要はありません。詳細は、“中継アプリケーションの作成について”についてを参照してください。

(注2)

 使用するXA連携プログラムにあわせて選択してください。すべてのライブラリを使用する必要はありません。

[コンパイル・リンクの例]

 以下にC言語でOracleを使用した場合のリンクパラメタを示します。なお、Oracleのインストール先を/opt/oracleとしています。

 \: 継続行を示します。

gcc -O test1_s.c -o test1_s test1_s.o test1_skel.o /opt/FJSVots/program/xa/libotsxaora.o  \
   -L/opt/FJSVots/lib  -lservapl -ltacebasent   -L/opt/oracle/lib -lclntsh       \
   -L/opt/FJSVod/lib/nt  -lOM             -L/opt/FJSVod/lib -lOMcn              \
   -I/opt/oracle9i/precomp/public                                               \
   -I/opt/FJSVots/include -I/opt/FJSVod/include

[UNIX用サーバライブラリ]

 以下に示すライブラリは必須ライブラリです。

ライブラリ名

使用用途

格納先

libservapl.so

C言語、C++言語のサーバアプリケーションの運用環境用、データベースアクセスアプリケーション用(注1)

$OTS_HOME/lib

libtacebasent.so

C言語、C++言語のサーバアプリケーションの運用環境用、データベースアクセスアプリケーション用

$OTS_HOME/lib

libservaplcnt.so

C言語、C++言語のサーバアプリケーションの運用環境用、中継サーバアプリケーション用(注1)

$OTS_HOME/lib

libotsxaora.o

Oracle用のXA連携用プログラムでC言語、C++言語のサーバアプリケーションおよびリソース管理プログラムの運用環境用(注2)

$OTS_HOME/program/xa

(注1)

 この2つのライブラリを同時に使用する必要はありません。詳細は、“中継アプリケーションの作成について”についてを参照してください。

(注2)

 使用するXA連携プログラムにあわせて選択してください。すべてのライブラリを使用する必要はありません。


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

Copyright 2008 FUJITSU LIMITED