Interstage Application Server アプリケーション作成ガイド (コンポーネントトランザクションサービス編) |
目次
索引
![]() ![]() |
第3章 サーバアプリケーションの作成(C++言語) | > 3.4 ソースのコンパイル・リンク |
サーバアプリケーションのソースとスケルトンのコンパイル方法、およびリンク方法について説明します。
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)は、スレッドモードで作成する場合のみ必要です。
サーバアプリケーション実行可能ファイルは、スケルトンとサーバアプリケーションが使用するライブラリで静的に結合します。データベース管理システムのライブラリ以外で、サーバアプリケーションのリンク時に指定するライブラリを以降に示します。
目次
索引
![]() ![]() |