Interstage Application Server アプリケーション作成ガイド (コンポーネントトランザクションサービス編)
目次 索引 前ページ次ページ

第3章 サーバアプリケーションの作成(C++言語)> 3.4 ソースのコンパイル・リンク

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

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

 サーバアプリケーション実行可能ファイルは、スケルトンとサーバアプリケーションが使用するライブラリで静的に結合します。データベース管理システムのライブラリ以外で、サーバアプリケーションのリンク時に指定するライブラリを以下に示します。

[リンク時に指定するライブラリ]

ライブラリ名

格納場所

用途

odsvcpp.lib

INTERSTAGEインストールフォルダ\odwin\lib

CORBAサービスランタイム(注)

odwincpp.lib

INTERSTAGEインストールフォルダ\odwin\lib

CORBAサービスランタイム(必須)

f3fmalcapi.lib

INTERSTAGEインストールフォルダ\td\lib

コンポーネントトランザクションサービスランタイム(必須)

f3fmapicpp.lib

INTERSTAGEインストールフォルダ\td\lib

コンポーネントトランザクションサービスランタイム(必須)

libextpapiskl.lib

INTERSTAGEインストールフォルダ\extp\lib

コンポーネントトランザクションサービスランタイム(必須)

libextpapmcom.lib

INTERSTAGEインストールフォルダ\extp\lib

コンポーネントトランザクションサービスランタイム(必須)

libextpapmbase.lib

INTERSTAGEインストールフォルダ\extp\lib

コンポーネントトランザクションサービスランタイム(必須)

LibextpapmlibTDNORM.lib

INTERSTAGEインストールフォルダ\extp\lib

コンポーネントトランザクションサービスランタイム(必須)

(注)
 中継用サーバアプリケーションを作成するとき、および、例外を使用するときに必要です。
 odsvcpp.libをリンクする場合、odwincpp.libをリンクする必要はありません。

 サーバアプリケーションとスケルトンをVisual C++でコンパイル後、リンクする場合のオプションの例を以下に示します。

[コンパイルオプションの例]

 Visual C++でコンパイルする場合は、[プロジェクト]-[設定]-[C/C++]の「カスタマイズ」で、以下の表に示すオプションを設定してください。

カテゴリー

項目

設定値

コード生成

CPU

80386を推奨

構造体メンバのアライメント

4バイト

使用するランタイム

マルチスレッド(DLL)

最適化

 

デフォルトを推奨

プリプロセッサ

プリプロセッサの定義

"OM_PC","OM_WIN32_BUILD", "__STDC__" を追加

 また、[ツール]-[オプション]-[ディレクトリ]の「インクルードファイル」、「ライブラリファイル」にそれぞれINTERSTAGEインストールフォルダの下の"include"、 "lib"フォルダを登録してください。

登録例)

  (INTERSTAGEをC:\INTERSTAGEにインストールした場合)

− インクルードファイル
  C:\INTERSTAGE\odwin\include
  C:\INTERSTAGE\td\include
  C:\INTERSTAGE\extp\include

− ライブラリファイル
  C:\INTERSTAGE\odwin\lib
  C:\INTERSTAGE\td\lib
  C:\INTERSTAGE\extp\lib

リンク時の注意事項

 サーバアプリケーションのリンク時には、上記のライブラリのほかに、データベースや連携する他製品のライブラリなど、サーバアプリケーションで必要なライブラリがすべてリンクされていることを確認してください。また、リンクしたライブラリの格納先をワークユニット定義のアプリケーション使用パス(Path for Applicationセクション)に設定してください。
 リンクが完全でない場合やワークユニット定義のアプリケーション使用パスが完全でない場合は、ワークユニット起動処理において実行ファイルのオープン処理に失敗し、メッセージ(EXTP4640,EXTP4643,EXTP4645,EXTP4508)が出力されます。

 以下に必要なワークユニット定義の設定例を示します。

ワークユニット定義の設定例

 サーバアプリケーションの実行ファイルが“application1.exe”、格納先がc:\application\bin、サーバアプリケーションにリンクされているライブラリの格納先が、それぞれ、“d:\product1\bin”、“e:\product2\bin”の場合の定義例を以下に示します。

 [WORK UNIT]
 Name: SAMPLEWU
 Kind: ORB
 [APM]
 Name: TDNORM

 [Control Option]
 …
 Path: c:\application\bin
 Path for Application: d:\product1\bin
 Path for Application: e:\product2\bin
 …

 [Application Program]
 …
 Executable File: application1.exe

 サーバアプリケーションにリンクされているライブラリの格納先が複数存在する場合は、アプリケーション使用パス(Path for Applicationセクション)を複数設定してください。
 また、出口プログラムにリンクされているライブラリの格納先についても、同様にアプリケーション使用パス(Path for Applicationセクション)に設定してください。

注意

 スレッドライブラリ(libthread.so)は、スレッドモードで作成する場合のみ必要です。

注意

 スレッドライブラリ(libpthread.so)は、スレッドモードで作成する場合のみ必要です。

 サーバアプリケーション実行可能ファイルは、スケルトンとサーバアプリケーションが使用するライブラリで静的に結合します。データベース管理システムのライブラリ以外で、サーバアプリケーションのリンク時に指定するライブラリを以降に示します。


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

All Rights Reserved, Copyright (C) 富士通株式会社 2005