COBOL2002 使用の手引 手引編

[目次][用語][索引][前へ][次へ]

34.1.5 ccコマンドおよびldコマンドの-lオプション

ccコマンドおよびldコマンドを使って実行可能ファイルを生成したいときは,-lオプションについて次のような指定が必要です。ccコマンドおよびldコマンドの詳細については,システムのマニュアルを参照してください。-lオプションの詳細については,「34.1.3 ccbl2002コマンドの-lオプション」を参照してください。

<この項の構成>
(1) COBOL2002実行時ライブラリを使用する場合
(2) ccコマンドを使用する場合
(3) DISPLAY文および浮動小数点形式データを使用する場合
(4) テストデバッガを使用する場合(-TDInf,-CVInf,-TestCmd,Full,および-TestCmd,Simオプション指定時)
(5) 組み込み関数機能を使用する場合
(6) HP-UX(IPF)またはHP-UX(IPF64)で動的なリンクを使用する場合
(7) マルチスレッド機能を使用する場合
(8) CGIプログラム作成支援機能を使用する場合(HP-UX(IPF),AIX(32),Solaris(SPARC)で有効)
(9) HiRDBによる索引ファイル入出力機能を使用する場合
(10) XML対応COBOLプログラムを使用する場合(HP-UX(IPF),HP-UX(IPF64),AIX(32),AIX(64),Linux(x86),Linux(x64)で有効)
(11) HP-UX(IPF),HP-UX(IPF64),またはSolaris(SPARC)で使用する場合
(12) 整列併合機能を使用する場合
(13) 索引ファイル機能を使用する場合
(14) ODBCインターフェース機能を使用する場合(Linux(x86),Linux(x64)で有効)

(1) COBOL2002実行時ライブラリを使用する場合

COBOL2002実行時ライブラリには共用ライブラリが提供されています。次に共用ライブラリを示します。

システム名 共用ライブラリ
ファイル名 使用時に必要なオプション
HP-UX(IPF)
HP-UX(IPF64)
libcbl2k.so -lcbl2k※1
AIX(32) libcbl2k.a
AIX(64) libcbl2k64.a -lcbl2k64※2
Solaris(SPARC) libcbl2k.so -lcbl2k※1
Linux libcbl2k.so

注※1
-lcbl2kオプション指定時は,常に共用ライブラリが参照されます。
また,-lcbl2kオプションに続いて-lcbl2kmlオプションの指定が必要です。COBOL2002でのライブラリ指定文字列(-lcbl2kなど)を使用するとき,ライブラリの検索パスにUNIX32,またはLinux(IPF64)の場合は「/opt/HILNGcbl2k/lib」の指定が,HP-UX(IPF64),Linux(x64)の場合は「/opt/HILNGcbl2k64/lib」の指定が必要です。

注※2
-lcbl2k64オプション指定時は,常に共用ライブラリが参照されます。
また,-lcbl2k64オプションに続いて-lcbl2kml64オプションの指定が必要です。COBOL2002でのライブラリ指定文字列(-lcbl2k64など)を使用するとき,ライブラリの検索パスに「/opt/HILNGcbl2k64/lib」の指定が必要です。

注意事項
ccコマンドおよびldコマンドは,コマンド行に指定された順序どおりにファイルを処理します。このため,ccコマンドおよびldコマンドには,次の順序で引数を指定します。
  • -lcbl2k,-lcbl2k64,-lcbl2kml,および-lcbl2kml64オプションは,COBOLプログラムよりあとに指定する。
  • COBOLプログラムで使用する機能のライブラリ(-lisam,-lisam64,-lrsort,-lrsort64など)は,-lcbl2k,-lcbl2k64,-lcbl2kml,および-lcbl2kml64オプションよりあとに指定する。
(例)
HP-UX(IPF)の場合
  cc  xxx.o  -L/opt/HILNGcbl2k/lib -lcbl2k -lcbl2kml …
      -L/opt/HIISlib/lib -lisam -L/opt/HISORTlib/lib
      -lrsort … -lm
HP-UX(IPF64)の場合
  cc  xxx.o  +DD64 -L/opt/HILNGcbl2k64/lib -lcbl2k 
      -lcbl2kml … -L/opt/HIISlib64/lib -lisam64
      -L/opt/HISORTlib64/lib lrsort64 … -lm
AIX(32)の場合
  cc  xxx.o  -L/opt/HILNGcbl2k/lib -lcbl2k -lcbl2kml …
      -L/opt/HIISlib/lib -lisam -L/opt/HISORTlib/lib
      -lrsort … -lm
AIX(64)の場合
  cc  xxx.o  -q64 -L/opt/HILNGcbl2k64/lib -lcbl2k64 
      -lcbl2kml64 … -L/opt/HIISlib64/lib -lisam64
      -L/opt/HISORTlib64/lib -lrsort64 … -lm
Solaris(SPARC)の場合
  cc  xxx.o  -L/opt/HILNGcbl2k/lib -lcbl2k -lcbl2kml …
      -L/opt/HIISlib/lib -lisam -L/opt/HISORTlib/lib
      -lrsort … -lm
Linux(x86)の場合
  cc  xxx.o  -L/opt/HILNGcbl2k/lib -lcbl2k -lcbl2kml …
      -L/opt/HIISlib/lib -lisam -L/opt/HISORTlib/lib
      -lrsort … -lm
Linux(x64)の場合
  cc  xxx.o  -L/opt/HILNGcbl2k64/lib -lcbl2k -lcbl2kml …
      -L/opt/HIISlib64/lib -lisam64 -L/opt/HISORTlib64/lib 
      -lrsort64 … -lm
Linux(IPF64)の場合
  cc  xxx.o  -L/opt/HILNGcbl2k/lib -lcbl2k -lcbl2kml …
      -L/opt/HIISlib64/lib -lisam64 -L/opt/HISORTlib64/lib 
      -lrsort64 … -lm

(2) ccコマンドを使用する場合

ccコマンドを使用して実行可能ファイルを作成するときは,ダイナミックローダライブラリオプションの指定が必要です。次にダイナミックローダライブラリオプションを示します。

HP-UX(IPF),HP-UX(IPF64)の場合
-ldldオプションの指定が必要です。

AIX(32),AIX(64),Linux,Solaris(SPARC)の場合
-ldlオプションの指定が必要です。

(3) DISPLAY文および浮動小数点形式データを使用する場合

-lmオプションの指定が必要です。

(4) テストデバッガを使用する場合(-TDInf,-CVInf,-TestCmd,Full,および-TestCmd,Simオプション指定時)

-TDInf,-CVInf,-TestCmd,Full,および-TestCmd,Simオプションのどれかを指定してコンパイルしたCOBOLオブジェクトをリンクする場合,次の指定が必要です。

HP-UX(IPF)の場合
cc  xxx.o -L/opt/HILNGcbl2k/lib -lcbl2ktd -lcbl2k 
    -lcbl2kml … -ldld …

HP-UX(IPF64)の場合
cc  xxx.o +DD64 -L/opt/HILNGcbl2k64/lib -lcbl2ktd -lcbl2k 
    -lcbl2kml … -ldld …

AIX(32),Linux(x86),Linux(IPF64),Solaris(SPARC)の場合
cc  xxx.o -L/opt/HILNGcbl2k/lib -lcbl2k -lcbl2kml … -ldl …

AIX(64)の場合
cc  xxx.o -q64 -L/opt/HILNGcbl2k64/lib -lcbl2k64 
    -lcbl2kml64 … -ldl …

Linux(x64)の場合
cc  xxx.o -L/opt/HILNGcbl2k64/lib -lcbl2k -lcbl2kml … -ldl …

(5) 組み込み関数機能を使用する場合

次に示す組み込み関数を使用する場合,-lmオプションの指定が必要です。

ACOS関数,ASIN関数,ATAN関数,COS関数,SIN関数,TAN関数,LOG関数,LOG10関数,SQRT関数

(6) HP-UX(IPF)またはHP-UX(IPF64)で動的なリンクを使用する場合

-DynamicLink,Call,-DynamicLink,IdentCallオプションを指定してコンパイルしたCOBOLオブジェクトをリンクする場合,-lelfオプションの指定が必要です。

また,動的なリンクを使用するプログラムをcc/ldコマンドでリンクするmakefileやシェルなどのプログラム開発用資産を,ほかのシステムからHP-UX(IPF)またはHP-UX(IPF64)へ移行する場合,-lelfオプションの指定が必要です。

(7) マルチスレッド機能を使用する場合

HP-UX(IPF),HP-UX(IPF64)の場合
-lcbl2kknおよび-lpthreadオプションの指定が必要です。

AIX(32)の場合
-lcbl2kmpおよび-lpthreadsオプションの指定が必要です。

AIX(64)の場合
-lcbl2kmp64および-lpthreadsオプションの指定が必要です。

Solaris(SPARC),Linuxの場合
-lcbl2kmpおよび-lpthreadオプションの指定が必要です。

(8) CGIプログラム作成支援機能を使用する場合(HP-UX(IPF),AIX(32),Solaris(SPARC)で有効)

-lcbl2kcgiオプションの指定が必要です。

(9) HiRDBによる索引ファイル入出力機能を使用する場合

HP-UX(IPF),HP-UX(IPF64),AIX(32),Linux(IPF64),Solaris(SPARC)の場合
-lcbl2krdオプションの指定およびHiRDBのライブラリが必要です。

AIX(64)の場合
-lcbl2krd64オプションの指定およびHiRDBのライブラリが必要です。

なお,HiRDB ライブラリを指定する際はCOBOL プログラムで次に示す機能を使用しないでください。

HiRDBのライブラリ指定については,マニュアル「HiRDBのUAP開発ガイドマニュアル」を参照してください。

(10) XML対応COBOLプログラムを使用する場合(HP-UX(IPF),HP-UX(IPF64),AIX(32),AIX(64),Linux(x86),Linux(x64)で有効)

XMLアクセス用実行時ライブラリが必要です。ライブラリ指定については,マニュアル「COBOL2002 XML連携機能ガイド」を参照してください。

(11) HP-UX(IPF),HP-UX(IPF64),またはSolaris(SPARC)で使用する場合

-lmオプションの指定が必要です。

(12) 整列併合機能を使用する場合

SORTライブラリ(-lrsort,-lrsort64オプションなど)を使用する場合は,ライブラリの検索パスに次の指定が必要です。

UNIX32の場合
/opt/HISORTlib/lib

UNIX64の場合
/opt/HISORTlib64/lib
(a) マルチスレッド機能を使用しない場合

UNIX32の場合
-lrsortオプションの指定が必要です。

UNIX64の場合
-lrsort64オプションの指定が必要です。
(b) マルチスレッド機能を使用する場合

UNIX32の場合
-lmsortオプションの指定が必要です。

UNIX64の場合
-lmsort64オプションの指定が必要です。

(13) 索引ファイル機能を使用する場合

ISAMライブラリ(-lisam,-lisam64オプションなど),SORTライブラリ(-lrsort,-lrsort64オプションなど)を使用する場合は,ライブラリの検索パスに次の指定が必要です。

UNIX32の場合
/opt/HIISlib/lib,/opt/HISORTlib/lib

UNIX64の場合
/opt/HIISlib64/lib,/opt/HISORTlib64/lib
(a) マルチスレッド機能を使用しない場合

UNIX32の場合
-lisam,-lrsortオプションの指定が必要です。

UNIX64の場合
-lisam64,-lrsort64オプションの指定が必要です。
(b) マルチスレッド機能を使用する場合

UNIX32の場合
-lmisam,-lmsortオプションの指定が必要です。

UNIX64の場合
-lmisam64,-lmsort64オプションの指定が必要です。

(14) ODBCインターフェース機能を使用する場合(Linux(x86),Linux(x64)で有効)

-lcbl2kodbcオプションの指定およびODBCドライバマネージャのライブラリが必要です。

ODBCドライバマネージャのライブラリ指定については,unixODBCに関するリファレンスなどを参照してください。