COBOL2002 使用の手引 手引編


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

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

〈この項の構成〉

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

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

システム名

共用ライブラリ

ファイル名

使用時に必要なオプション

AIX(32)

libcbl2k.a

-lcbl2k※1

AIX(64)

libcbl2k64.a

-lcbl2k64※2

Linux

libcbl2k.so

-lcbl2k※1

注※1

-lcbl2kオプション指定時は,常に共用ライブラリが参照されます。

また,-lcbl2kオプションに続いて-lcbl2kmlオプションの指定が必要です。COBOL2002でのライブラリ指定文字列(-lcbl2kなど)を使用するとき,ライブラリの検索パスにAIX(32),またはLinux(x86)の場合は「/opt/HILNGcbl2k/lib」の指定が,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オプションよりあとに指定する。

(例)

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

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

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

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

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

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

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

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

AIX(32),Linux(x86)の場合
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) マルチスレッド機能を使用する場合

AIX(32)の場合

-lcbl2kmpおよび-lpthreadsオプションの指定が必要です。

AIX(64)の場合

-lcbl2kmp64および-lpthreadsオプションの指定が必要です。

Linuxの場合

-lcbl2kmpおよび-lpthreadオプションの指定が必要です。

(7) CGIプログラム作成支援機能を使用する場合(AIX(32)で有効)

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

(8) HiRDBによる索引ファイル入出力機能を使用する場合(AIX(32)で有効)

AIX(32)の場合

-lcbl2krdオプションの指定およびHiRDBのライブラリが必要です。

AIX(64)の場合

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

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

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

(9) XML対応COBOLプログラムを使用する場合

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

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

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

AIX(32),Linux(x86)の場合
/opt/HISORTlib/lib
AIX(64),Linux(x64)の場合
/opt/HISORTlib64/lib

(a) マルチスレッド機能を使用しない場合

AIX(32),Linux(x86)の場合

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

AIX(64),Linux(x64)の場合

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

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

AIX(32),Linux(x86)の場合

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

AIX(64),Linux(x64)の場合

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

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

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

AIX(32),Linux(x86)の場合
/opt/HIISlib/lib,/opt/HISORTlib/lib
AIX(64),Linux(x64)の場合
/opt/HIISlib64/lib,/opt/HISORTlib64/lib

(a) マルチスレッド機能を使用しない場合

AIX(32),Linux(x86)の場合

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

AIX(64),Linux(x64)の場合

-lisam64,-lrsort64オプションの指定が必要です。

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

AIX(32),Linux(x86)の場合

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

AIX(64),Linux(x64)の場合

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

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

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

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