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 プログラムで次に示す機能を使用しないでください。
-
OLTP(OpenTP1)環境下での実行
-
複数接続機能
-
64ビットモード(AIX(32)の場合)
-
32ビットモード(AIX(64)の場合)
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に関するリファレンスなどを参照してください。