[C++ リンカ]

提供: Appmethod Topics
移動先: 案内検索

[C++ リンカ]オプション への移動


[プロジェクト|オプション...|C++ リンカ]

このダイアログ ボックスを使用して、C++ のリンカ オプションを設定します。

オプション 説明

[ターゲット]、[適用...]、[保存...]

[ターゲット]オプション」を参照。

共通項目

[<プロジェクト名> のプロジェクト オプション]ページの共通項目」を参照。


リンク オプション

リンク オプション 説明 リンカ サポート
ilink32 ilink64 xlink ld(iOS) ld(Android)

[インクリメンタル リンクを無効にする]

リンカ ステート ファイルを生成せず、インクリメンタル リンクを無効にします。 [インクリメンタル リンクを無効にする]オプションを指定した後のリンクは、最初のリンクと同程度の時間がかかるようになります。
デフォルト = False

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[リンク所要時間を表示]

リンカ出力に、リンク完了に必要な時間量を入れます。
デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[完全なデバッグ情報]

Appmethod C++ 統合デバッガによるアプリケーションのデバッグに必要な情報を出力ファイルに入れます。


デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[.drc ファイルを生成]

LINK32 は Object Pascal 互換の .RC ファイル(.drc ファイル)を生成します。 .drc ファイルには実行可能ファイルと同じ名前が付けられ、実行可能ファイルと同じディレクトリに出力されます。
デフォルト = False

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[シンボル ファイル (.map) を生成]

マップ ファイルを .\OutputFolder\ProjectName.map に生成します。
デフォルトでは、リンカによってプログラムの基本名に拡張子 .map を続けた名前がマップ ファイルに付けられます。
デフォルト = True

デスクトップ プラットフォームの場合、マップ ファイルに関するオプションは[C++ リンカ|出力]ページで指定します。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[インポート ライブラリを生成]

パッケージまたは .dll のエクスポートを記述するインポート ライブラリ(小さい静的ライブラリ)を生成します。これにより、別のアプリケーションとリンクできます。

このファイルは、動的ライブラリのリンク時に使われます。インポート ライブラリがないと、C++ でこのパッケージを使用できません。

インポート ライブラリ ファイルの拡張子は次のとおりです。

メモ: このオプションは、C++ ダイナミックリンク ライブラリ プロジェクトの場合にしか表示されません。

C++ パッケージの場合のみ有効です。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[静的パッケージ ライブラリ (.lib) を生成]

静的にリンク可能なパッケージ ライブラリを生成します。

C++ の静的パッケージ ライブラリ(.lib)をビルドする場合は、動的ライブラリ(.bpl)のビルドに使用される .obj とは異なる一連の .obj が必要になります。

このオプションが有効な場合(デフォルト設定)、build または make コマンドにより次の 2 種類の .obj 群が生成されます。

  • 動的ライブラリ(.bpl)の .obj。


  • 静的ライブラリ(.lib)の .obj。
  • どちらの種類のライブラリの場合も、TLIB ライブラリ マネージャにより、\bpilib ディレクトリに実際のライブラリが作成されます。

静的ライブラリ(.lib)用の .obj ファイルは、ユーザーのプロジェクト ディレクトリに作成されたサブディレクトリ(一般に \Debug\Win32\staticobjs ディレクトリ)に出力されます。ダイナミック ライブラリ(.bpl)用の .obj ファイルはユーザーのプロジェクト ディレクトリに出力されます。

このオプションが無効な場合、ビルド コマンドまたはメイク コマンドでは動的ライブラリ(.bpl)のみ生成されます。

詳細については、「静的パッケージのビルド」を参照。

C++ パッケージの場合のみ有効です。

デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[出力ファイルの保持]

出力ファイルを保持するようにリンカに通知します。これを指定しないと、出力ファイルはエラーの発生時に削除されます。リンカは、リンクにエラーがある場合に出力ファイル(EXE/DLL)を削除するように動作が変更されています。従来の動作ではこのようなファイルをそのまま残し、削除しませんでした。
デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[動的 RTL とリンクする]

C RTL をランタイム ライブラリ(cc3290.dll)を使って動的にリンクするか、(または、静的にリンクするか)を指定します。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[Object Pascal ランタイム ライブラリ
(rtl パッケージおよび cp32mt.lib/cp32mti.lib) とリンクする]

アプリケーションに次の要素がリンクされていることを確認します。

  • Object Pascal RTL パッケージ(rtl.lib または rtl.bpi)
  • memmgr.lib および sysinit.obj ユニット
  • Object Pascal RTL と互換性がある、C++ RTL(つまり cp32*.lib)

C++ は Object Pascal RTL とリンクします(このオプションが有効であるか、プロジェクトに密接に関連したフレームワークがある場合)。たとえば、FMX Forms プロジェクトは、密接に関連したフレームワークに基づいて、Object Pascal RTL をリンクします。 このオプションを使用する対象は、Object Pascal RTL パッケージ(SysUtils、Classes、IOUtils など)内のユニットで公開されている一部の機能にアクセスする、または一部の Object Pascal 型(UnicodeString、Variant など)を使用し、フレームワークとの密接な関係がない、任意の C++ アプリケーションです。

[新規コンソール アプリケーション]ウィザード(C++)でアプリケーションを作成したとき、このオプションが有効でないか、フレームワークを選択しない場合、C++ コンソール アプリケーションでは、Object Pascal 例外を処理できません。
デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[リンク後に一時リンカ ファイル (.lnk) を削除]

このオプションを指定すると、.\<出力フォルダ>\<プロジェクト名>.lnk の一時リンカ ファイルが削除されます。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[エラーの最大数を指定]

エラー数(nn)を設定します。指定された数のエラーを検出すると、リンクを中止します。
デフォルト値は[0]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[詳細]オプション

[詳細]オプション 説明 リンカ サポート
ilink32 ilink64 xlink ld(iOS) ld(Android)

[追加オプション]

追加のリンカ オプションを入力します。オプションについては、「ILINK32.EXE - 32 ビット インクリメンタル リンカ」を参照。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[リンク時に大文字と小文字を区別]

リンカは、パブリック シンボルと外部シンボルの大文字と小文字を区別します。C および C++ は両方とも大文字と小文字を区別する言語なので、通常、このオプションは設定しておきます。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[リンクの前にリンカ ステート ファイルをクリア]

既存のインクリメンタル リンカ ステート ファイルを削除してから再作成し、リンクを続行します。このオプションを使用するとステート ファイルを更新できます。
デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[遅延読み込みする DLL]

遅延読み込みする DLL を指定します。DLL の遅延読み込みは、アプリケーションではめったに使用されない DLL に対して有効ですが、スタートアップ コストが高くなる可能性があります。遅延読み込みが指定された DLL は、DLL 内のエントリ ポイントが実際に呼び出されるまでは、読み込みも初期化もされません。遅延読み込みが指定された DLL に対しては RTL サポートがあり、ユーザーは必要でに応じてこれをフックして読み込み時のエラーを処理したり、遅延読み込みされたシステムの代わりの処理を行うことができます。「[<プロジェクト名> のプロジェクト オプション]ページの共通項目」の 参照 ポップアップ ボタンの説明を参照。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[イメージのチェックサムを計算し設定]

ターゲットのチェックサムを計算し、その結果をターゲットの PE ヘッダーに格納します。これは、NT のカーネル モード ドライバとシステム DLL で使用されます。
デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[TLS の高速化]

TLS(スレッド ローカル ストレージ)を共有するメカニズムを使用する代わりに、Windows から TLS を割り当てます。
デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[ファイルのアラインメント]

実行可能ファイル内のコードとデータのページ アラインメントを指定します。リンカは、さまざまなオブジェクトやセクション(コードやデータなど)をファイルに書き込む場合に、ファイル アラインメント値を使用します。たとえば、デフォルト値 0x200 を使用すると、実行可能ファイル内の 512 バイト境界にイメージ セクションが保存されます。

このオプションを使用する場合、2 の累乗のファイル アラインメント値を指定する必要があります(最小値は 16)。
デフォルト値は[0x200]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[オブジェクトのアラインメント]

リンカは、オブジェクト アラインメント値を使用して、アプリケーション内のさまざまなオブジェクトやセクション(コードやデータなど)の仮想アドレスを指定します。たとえば、オブジェクト アラインメント値として 8192 を指定すると、8192 バイト(0x2000)の境界上にイメージ内のセクションの仮想アドレスが配置されます。

このオプションを使用する場合、2 の累乗のオブジェクト アラインメント値を指定する必要があります。最小値はデフォルト値の 4096(0x1000)です。
デフォルト値は[0x1000]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[リソースを置換]

既存のリソースを削除せずにリソースを追加または置換します。
デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[リンク時に詳細を表示]

RLINK32 に詳細表示オプションを設定し、リソースのリンク時に詳細な情報を表示します。
デフォルト値は[false]です。

YesC++11Feature.png
YesC++11Feature.png
YesC++11Feature.png

[追加でリンクされるライブラリ]

リストに指定されたライブラリをアプリケーションにリンクします。

ライブラリはコード名で指定します。

メモ: Interbase などのよく使われるライブラリの場合は、他の[詳細]オプションを使ってリンクすることができます。可能であれば、[追加でリンクされるライブラリ]ではなくそれらのオプションを使用してください。
YesC++11Feature.png
YesC++11Feature.png

[DBX InterBase とリンクする]

dbExpress InterBase クライアント ライブラリとリンクします。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png

[Indy とリンクする]

Indy ライブラリとリンクします。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png

[InterBase ToGo とリンクする]

dbExpress InterBase ToGo クライアント ライブラリとリンクします。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png

[Midas とリンクする]

MIDAS(DataSnap ライブラリ)とリンクします。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png

[正規表現ライブラリとリンクする]
デフォルト値は[true]です。

C++ 向けに変更された正規表現ライブラリ PCRE(Perl-compatible regular expressions)とリンクします。
詳細は http://www.pcre.org を参照。
デフォルト値は[true]です。

YesC++11Feature.png

[SQLite とリンクする]

dbExpress SQLite クライアント ライブラリとリンクします。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png

[SSL および Crypto とリンクする]

OpenSSL ライブラリとリンクします。

「iOS アプリケーションの作成」の「OpenSSL のサポート」セクションなどを参照。
デフォルト値は[false]です。

YesC++11Feature.png

[ZLib とリンクする]

ZLib 圧縮ライブラリとリンクします。
詳細は http://www.zlib.net を参照。
デフォルト値は[true]です。

YesC++11Feature.png
YesC++11Feature.png

[サポートされている iOS の最小バージョン]

アプリケーションがサポートする iOS の最小バージョンを定義します。

「FireMonkey プラットフォームに必要な準備」の「iOS の要件」セクションを参照。
デフォルト値は[5.1.0]です。

YesC++11Feature.png
YesC++11Feature.png

[使用するランタイムでエクスポート対象と想定されるシンボル]

実行時に必要となるためエクスポートしなければならないシンボルのリストです。

YesC++11Feature.png

関連項目