カスタム DLL ビルダーの使用

カスタム DLL をビルドするには、以下のコマンドを使用します。

nmake target [<オプション>]

以下の表は、target の設定可能な値と実行される内容を示しています。

コメント

libia32

IA-32 アーキテクチャー対応プロセッサー用のスタティック・ライブラリーをビルドします。

libintel64

インテル® 64 アーキテクチャー対応プロセッサー用のスタティック・ライブラリーをビルドします。

dllia32

IA-32 アーキテクチャー対応プロセッサー用のダイナミック・ライブラリーをビルドします。

dllintel64

インテル® 64 アーキテクチャー対応プロセッサー用のダイナミック・ライブラリーをビルドします。

help

カスタム DLL ビルダーのヘルプを表示します。

<オプション> プレースホールダーは、メイクファイルで使用するマクロを定義するパラメーターのリストを表します。 以下の表で、これらのパラメーターを説明します。

パラメーター [値]

説明

interface

使用するプログラミング・インターフェイスを定義します 値は以下のいずれかになります。

  • IA-32 アーキテクチャーの場合、{cdecl|stdcall}。 デフォルト値は cdecl です。
  • インテル® 64 アーキテクチャーの場合、{lp64|ilp64}。 デフォルト値は lp64 です。
threading = {parallel|sequential}

インテル® マス・カーネル・ライブラリー (インテル® MKL) をスレッドモードと逐次モードのどちらで使用するかを定義します。 デフォルト値は parallel です。

export = <ファイル名> 

DLL に含まれるエントリーポイント関数のリストを含むファイルの完全な名前を指定します。 デフォルト名は、functions_list (拡張子なし) です。

name = <dll の名前>

作成する dll およびインターフェイス・ライブラリーの名前を指定します。 デフォルトでは、作成するライブラリの名前 mkl_custom.dll および mkl_custom.lib です。

xerbla = <エラーハンドラー> 

ユーザーのエラーハンドラーを含むオブジェクト・ファイル <user_xerbla>.obj の名前を指定します。 メイクファイルは、このエラーハンドラーをライブラリーに追加します。デフォルトのインテル® MKL エラーハンドラー xerbla の代わりに使用されます。 このパラメーターを省略すると、標準インテル® MKL エラーハンドラー xerbla が使用されます。 独自のエラーハンドラーの開発方法は、『インテル® MKL リファレンス・マニュアル』の xerbla 関数の説明を参照してください。 IA-32 アーキテクチャーでは、オブジェクト・ファイルはインターフェイス・マクロ (cdecl または stdcall) で定義されたインターフェイスにする必要があります。

MKLROOT = <mkl ディレクトリー> 

カスタム DLL のビルドに使用するインテル® MKL ライブラリーの場所を指定します。 デフォルトでは、ビルダーはインテル® MKL インストール・ディレクトリーを使用します。

buf_lib

インテル® 64 アーキテクチャー・ベースのシステムのカスタム DLL における外部参照 __security_cookie の解決を管理します。

デフォルトでは、メイクファイルは Microsoft* SDK builds 1289 以降の bufferoverflowu.lib ライブラリーを使用します。 このライブラリーは、外部参照 __security_cookie を解決します。

このライブラリーを使用しないようにするには、このパラメーターの値を空にします。このため、古い SDK を使用する場合は、buf_lib= に設定します。

Caution icon警告

buf_lib パラメーターの値は空に設定してください。 パラメーターに正しくない値を設定すると、ビルダーでエラーが発生することがあります。

crt = <c ランタイム・ライブラリー>

カスタム DLL のビルドに使用する Microsoft C ランタイム・ライブラリーの名前を指定します。デフォルトでは、ビルダーは msvcrt.lib を使用します。

manifest = {yes|no|embed}

カスタム DLL 用の Microsoft マニフェストの作成を管理します。

  • manifest=yes の場合、name パラメーターで定義された名前で、拡張子が manifest のマニフェスト・ファイルが作成されます。
  • manifest=no の場合、マニフェスト・ファイルは作成されません。
  • manifest=embed の場合、マニフェストは DLL に組み込まれます。

デフォルトでは、ビルダーは manifest パラメーターを使用しません。

Caution icon警告

マニフェスト・ファイルは Microsoft Visual Studio* 2005 で追加された機能です。ビルダーのエラーを回避するため、Microsoft Visual Studio 2003 を使用している場合は、manifest パラメーターを指定しないでください。

上記のすべてのパラメーターはオプションです。

最も簡単なコマンドは nmake ia32 (残りのパラメーターはデフォルト値) です。 この場合、IA-32 アーキテクチャー対応プロセッサー用の mkl_custom.dll および mkl_custom.lib ライブラリーが cdecl インターフェイスで作成されます。  functions_list ファイルから関数のリストが取得され、標準インテル® MKL エラーハンドラー xerbla が使用されます。

以下は、より複雑な場合の例です。

nmake ia32 interface=stdcall export=my_func_list.txt name=mkl_small xerbla=my_xerbla.obj

この場合、IA-32 アーキテクチャー対応プロセッサー用の mkl_small.dll および mkl_small.lib ライブラリーが stdcall インターフェイスで作成されます。 my_func_list.txt ファイルから関数のリストが取得され、ユーザーのエラーハンドラー my_xerbla.obj が使用されます。

インテル® 64 アーキテクチャー対応プロセッサーの場合も処理はほぼ同様です。

関連情報


このヘルプトピックについてのフィードバックを送信

© 2007 - 2010 Intel Corporation. 無断での引用、転載を禁じます。