Microsoft C++ の利用

提供: InterBase

アプリケーションの構築 へ戻る


Microsoft C++ でアプリケーションをコンパイルする際には、次のオプションを使用します:

オプション アクション

c

リンクせずにコンパイル(DLL のみ)

Zi

完全なデバッグ情報を生成

DWIN32

“WIN32” を null 文字として定義

D_MT

マルチスレッドの静的リンク ライブラリを使用

たとえば、これらのコマンドは、Microsoft コンパイラを使用して、InterBase を使用する DLL をビルドします:


cl -c -Zi -DWIN32 -D_MT -LD udf.c
lib -out:udf.lib -def:funclib.def -machine:i586 -subsystem:console
link -DLL -out:funclib.dll -DEBUG:full,mapped -DEBUGTYPE:CV
-machine:i586 -entry:_DllMainCRTStartup@12 -subsystem:console
-verbose udf.obj udf.exp gds32.lib ib_util_ms.lib crtdll.lib

このコマンドは、Microsoft コンパイラを使用して、InterBase 実行形式ファイルをビルドします:


cl -Zi -DWIN32 -D_MT -MD udftest.c udf.lib gds32.lib
ib_util_ms.lib crtdll.lib
メモ: ユーザー定義ライブラリのコンパイルおよびリンクについては、『開発者ガイド』の「UDL の操作」を参照してください。

 ダイナミック ランタイム ライブラリの利用  次のような場合です:

  • Microsoft Visual C++ 2.0 または Microsoft Visual C++ 4.0 を使用
  • コンパイルとリンクを別に行う、そして
  • ダイナミック ランタイム ライブラリ(msvcrt20.dll または msvcrt40.dll)を利用

/MD コンパイラ フラグを使用して、ランタイム ライブラリ(RTL)をコンパイルし、正しいインポート ライブラリをリンクする必要があります。