IDA BUILDLIB コマンド
IDA BUILDLIB CLPPlus コマンドは C++ 共有ライブラリーを作成します。つまり、C++ で作成された 1 つ以上の UDX で使用可能な実行可能コードを生成します。 このコマンドは IDA DEPLOYUDX コマンドと同じステップを実行しますが、生成されたライブラリー・ファイルを使用するための UDX の登録を行わない点が異なります。
- データベース・サーバーのユーザー・ホームの下にプロジェクト・ディレクトリーを作成し、UDX ソース・ファイルを含む圧縮ファイルをプロジェクト・ディレクトリーにアップロードします。
- すべてのソース・ファイルをコンパイルして、オブジェクト・ファイルを作成します。
- オブジェクト・ファイルをリンクして、ライブラリー・ファイルを作成します。
- ライブラリー・ファイルと、ライブラリーで使用されるその他のファイルをリリース・ディレクトリーにプロモートします。
IDA DEPLOYUDX コマンドと同様に、これらのステップを制御するパラメーターを、コマンド・ストリング、IDA パラメーター・ファイル、またはその両方に指定できます (IDA パラメーター・ファイルを参照してください)。 指定された IDA パラメーター・ファイルに、ビルド・プロセスに適用されないパラメーター (例えば、UDX シグニチャーまたは戻りの型) が含まれている場合、それらのパラメーターは無視されます。
呼び出し
このコマンドは CLPPlus インターフェースから実行する必要があります。
許可
なし
必要な接続
CLPPlus がデータベースに接続されている必要があります。
コマンド構文
IDA BUILDLIB
IDA BUILDLIB [ PARAMFILEparameter_file ] SOURCEcompressed_file [ { PROJECTname_of_compressed_file | PROJECTproject } ] { <> } [ { PROMOTEfile_name | PROMOTE" file_name " } ] [ { REPLACEPROMPT | REPLACEYES | REPLACENO } ] [ { LIBRARY libname_of_project | LIBRARYlibrary | LIBRARYlibrary( file ) } ] [ { USELIBRARY project_name | USELIBRARYproject_name:library.so } ] [ { INCLUDEDIRECTORIESdirectory | INCLUDEDIRECTORIES" directory " } ] [ { BINDIRbin | BINDIRdir } ] { }コマンド・パラメーター
- PARAMFILE
- このコマンドに明示的に指定されていないパラメーターのデフォルト値を決定する IDA パラメーター・ファイルの名前 (IDA パラメーター・ファイルを参照)。
コマンド・ストリングで明示的に指定されていない主要な必須パラメーターは、すべてパラメーター・ファイルで指定する必要があります。 このコマンドの主要な必須パラメーターは SOURCE (省略形は SRC) だけです。
- SOURCE | SRC
- ライブラリーが作成される UDX で必要なすべてのソース・ファイルを含む圧縮ファイルの完全修飾名。
- PROJECT | PROJ
- 指定されたソース・ファイルのセット用に作成されるプロジェクト・ディレクトリーの名前。
名前に使用できるのは、英数字 (A から Z、a から z、0 から 9)、および下線文字 (_) のみです。デフォルトは、
SOURCEパラメーターで指定されたファイルの名前から拡張子を除いたものです。 - PROMOTE
- リリース・ディレクトリーにプロモートされる、生成されたライブラリー (C++ で作成された UDX の場合は
libraryパラメーターに指定されたファイル) などのファイルのコンマ区切りリスト。 - ENVIRONMENT | ENV
- UDX の登録中に使用される環境変数のコンマ区切りリストが含まれるストリング。
以下に例を示します。
ENV "'USD_TO_INR'='60','EUR_TO_INR'='80'" - REPLACE
- 指定された名前のプロジェクトが既に存在する場合に、以下のいずれかを指定します。
- YES
- 既存のプロジェクトを削除し、新規プロジェクトで置換します。
- NO
- コマンドをキャンセルして、アクションを実行しません。
- PROMPT
- ユーザーに対して、以下のいずれかの操作を指定するよう指示します。
- コマンドを続行し、既存のプロジェクトを削除して置換します。
- コマンドをキャンセルして、アクションを実行しません。
- LIBRARY | LIB
- 生成されるライブラリー・ファイルに割り当てられる名前 (拡張子を含む)。デフォルトは
lib<project>.soという形式の名前です。 例えば、プロジェクト名がudx77の場合、生成されるライブラリーのデフォルト名はlibudx77.soになります。追加のオブジェクト・ファイル (.o ファイル)、静的ライブラリー (.a ファイル)、または共有ライブラリー (.so ファイル) がリンク・ステップに組み込まれ、リリース・ディレクトリーにプロモートされる場合、これらは指定されたライブラリー名の後のコンマ区切りリストで指定できます。 DEPLOYUDX 操作では、LIBRARYDIRECTORIES パラメーターで指定されたディレクトリー内のファイルが検索されます。したがって、名前にパス情報が含まれないようにします。 ファイル名には、ファイル拡張子を含める必要があります。 例えば、
mylib.so(obj1.o,obj2.o,lib25.so,lib50.a)のようにします。 - USELIBRARY | USELIB
<project>[:<library>]項目 (ビルド・ライブラリーが依存する UDSL) のコンマ区切りリスト。 IDA REST API 呼び出しに渡されます。C++ でのみ使用可能です。library部分のデフォルトはlib<project>.soです。 リストで参照されるライブラリーは、release/DEPSフォルダー内のライブラリーへのシンボリック・リンクとなります。- INCLUDEDIRECTORIES | INCLUDEDIRS
- コンパイル時に組み込むファイルが含まれているプロジェクト・ディレクトリーに対して相対的に指定された、コンマで区切られたサブディレクトリーのリスト。
以下に例を示します。
INCLUDEDIRS "inc/sub2,myincludes" - BINARYDIRECTORY | BINDIR
- コンパイル時に作成されたオブジェクト・ファイルが保管されるプロジェクト・ディレクトリーのサブディレクトリーの名前。
例
pf1b.txt という名前のパラメーター・ファイルを使用して、すべてのパラメーターを指定します。
SQL> IDA BUILDLIB PARAMFILE pf1b.txtpf1b.txt で指定された一部のパラメーターを上書きします。
SQL> IDA BUILDLIB PARAMFILE pf1b.txt SRC udxin4.tar PROJ udx77SQL> IDA BUILDLIB SRC C:\udxdev\udx1\*.zip PROJ udx77 REPLACE YES