以下の表では,第 1 列に,警告が検知された時に返される警告番号を一覧表示しています。第 2 列の第 1 行は,メッセージ・テキストを示しています。第 2 列の第 2 行目以降は,メッセージの説明を示しています。
番号 | メッセージ・テキストと説明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LNK4070 | /OUT:filename directive in .EXP differs from output filename "filename"; ignoring directive
.EXP ファイルが作成された時に NAME または LIBRARY 文に指定したファイル名が,基本設定値または /OUT オプションで指定した出力ファイル名と異なっています。作成された DLL を使用するクライアント・プログラムで,問題が発生します。 |
||||||||||||||
LNK4071 | cannot be incrementally linked on subsequent links
LINK が 1 つ以上のシンボルに対して複数の定義を発見しましたが,エラーに関係なく出力ファイルを作成するための /FORCE または /FORCE:MULTIPLE が使用されました。LINK は増分状態 (.ILK) ファイルを削除しました。 |
||||||||||||||
LNK4072 | section count count exceeds max (number); image may not run
出力ファイルのセクション (COFF .EXE または .DLL はセグメントのようなセクションで構成されています) の数が,ローだが処理できる上限数を超えています。 /SUMMARY オプションを指定した DUMPBIN プログラムを使って,実行形式ファイルのセクションの名前を表示することができます。詳細は,「DUMPBIN によるファイルの確認」を参照してください。実行形式ファイルのセクション数を減少させるには,以下のようにします。
|
||||||||||||||
LNK4073 | cannot create map for .ILK file; linking nonincrementally
LINK が増分状態 (.ILK) ファイルを作成するために十分に大きな連続した空間が共有メモリーにありませんでした。LINK は,非増分ビルドを行いました。 |
||||||||||||||
LNK4074 | unable to load filename; cannot checksum
リンカーがダイナミック・リンク・ライブラリー filename をロードしようとしましたが,できませんでした。filename の関数が実行形式ファイルのチェックサムとして使用されます。以下の 1 つが原因として考えられます。
|
||||||||||||||
LNK4075 | ignoring "option1" due to "option2" specification
option2 指定が option1 を上書きします。 |
||||||||||||||
LNK4076 | invalid incremental status file "filename"; linking nonincrementally
LINK が,増分状態 (.ILK) ファイルに書き込めませんでした。filename が壊れているか,それが増分リンクデータベースではないかのどちらかです。ファイルを削除し,再リンクしてください。 |
||||||||||||||
LNK4077 | exports file "filename" used; ignoring other export specifications
与えられたエクスポート・ファイル filename は,プログラムのエクスポートを提供しています。/EXPORT オプションで指定されたエクスポート,または .DEF ファイルの EXPORTS 文で指定されたエクスポートは,無視されました。 |
||||||||||||||
LNK4078 | multiple "section" sections found with different attributes
LINK が同じ名前 section を持つが,属性が異なる 2 つ以上のセクションを発見しました。おそらく,インポート・ライブラリーまたはエクスポート・ファイルが,LINK または LIB の以前のバージョンで作成されたものです。ファイルを再作成し,再リンクしてください。 |
||||||||||||||
LNK4079 | no write permission for incremental status file "filename"; linking nonincrementally
LINK が増分状態 (.ILK) ファイルに書き込めませんでした。これは,このファイル filename が正しい許可を持っていないためです。 |
||||||||||||||
LNK4081 | insufficient disk space; linking nonincrementally
LINK が増分状態 (.ILK) ファイルの作成または書き込みを行うために十分な空間がありません。 |
||||||||||||||
LNK4082 | unable to find entrypoint function in module; cannot checksum
関数 CheckSumMappedFile() が IMAGEHLP.DLL にありません。 |
||||||||||||||
LNK4083 | module "name" does not exist; ignored
並び替えファイルで指定したモジュール name がありません。スペルを確認してください。詳細は,/ORDER リンカー・オプションを参照してください。 |
||||||||||||||
LNK4084 | total image size size exceeds max (256MB); image may not run
アプリケーションが 256 MB (メガバイト) の上限を超えています。詳細は,Compaq Visual Fortran 知識ベースの Q1019 を参照してください。 |
||||||||||||||
LNK4085 | more than number comments; skipping exestr
この警告は,リンカー・ツールが OMF オブジェクトを COFF オブジェクトに変換している時に発生します。OMF モジュールに 256 より多い注釈があることを示しています。 |
||||||||||||||
LNK4086 | entrypoint 'function' is not __stdcall with 12 bytes of arguments; image may not run
DLL に対するエントリ・ポイントは __stdcall でなければなりません。/Gz オプションを指定して関数を再コンパイルするか,関数を定義する時に __stdcall または WINAPI を指定します。 |
||||||||||||||
LNK4087 | CONSTANT keyword is obsolete; use DATA
モジュール定義ファイルまたはコマンドでエクスポートと一緒に CONSTANT を使用する場合,この警告が発生します。代わりに DATA を使用します。 |
||||||||||||||
LNK4088 | image being generated due to /FORCE option; image may not run
リンカーがエラーに遭遇しました。通常,実行形式ファイルがエラーのために実行できないため,実行形式ファイルは削除されます。しかしながら,/FORCE オプションを使用した場合,リンカーは実行形式ファイルを削除しません。 |
||||||||||||||
LNK4089 | all references to "dynamic-link library" discarded by /OPT:REF
リンカーは,ダイナミック・リンク・ライブラリーのエクスポートを参照する全てのパッケージ関数を破棄しました。この結果,ダイナミック・リンク・ライブラリーとそのインポート・ライブラリーが不要になります。 |
||||||||||||||
LNK4090 | No IFGLUE relocation in module with branch to glue code "name"
オブジェクト・ファイルが不正な再配置情報を含んでいました。オブジェクト・ファイルを再コピーするか,再作成してください。詳細は,「壊れたオブジェクト・ファイル」を参照してください。 |
||||||||||||||
LNK4092 | shared section "section" contains relocations; image may not run correctly
共有セクション section があれば必ず,重大な問題が発生する可能性を警告するため,リンカーがこの警告を発生させます。複数のプロセス間でデータを共有する 1 つの方法は,セクションに共有 (shared) のマークをつけることです。しかしながら,共有としてセクションをマークすることで,問題が発生することがあります。 |
||||||||||||||
LNK4093 | Drive/Directory component ignored in "module-definition" statement
モジュール定義 (.DEF) ファイルが不正に文を使用していました。LIBRARY または NAME 文には,ディレクトリやドライブ情報を含むことはできません。 |
||||||||||||||
LNK4094 | filename is an MS-DOS executable; use EXEHDR to dump it
DUMPBIN は,COFF 書式の実行形式ファイルのみで動作します。MS-DOS 実行形式ファイルには EXEHDR を使用します。EXEHDR は,Visual C++ 1.5 で提供されています。 |
||||||||||||||
LNK4095 | filename is an NE format executable; use EXEHDR to dump it
DUMPBIN は,COFF 書式の実行形式ファイルのみで動作します。NE 書式の実行形式ファイルには EXEHDR を使用します。EXEHDR は,Visual C++ 1.5 で提供されています。 |
||||||||||||||
LNK4096 | /BASE value "number" is invalid for Windows 95; image may not run
指定したベース・アドレスが不正です。Windows 95 実行形式ファイルは,0x400000 より大きいベース・アドレスを持たなければなりません。ベース・アドレスについての詳細は,/BASE リンカー・オプションを参照してください。 |
||||||||||||||
LNK4097 | duplicate name "name" in order file; using last one
オーダー・ファイルが,リンカーが関数をロードする順番を指定します。オーダー・ファイルで,関数が 1 度以上現れると,リンカーはその関数への最後の参照を除いて全てのその関数への参照を無視します。オーダー・ファイルの詳細については,/ORDER リンカー・オプションを参照してください。 |
||||||||||||||
LNK4098 | defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library
互換性のないライブラリーとリンクしようとしています。 注意:実行時ライブラリーは,異なった型の混在を防ぐための指示文を含んでいます。異なった型または,同じプログラムの実行時ライブラリーのデバッグと非デバッグ・バージョンを使用しようとすると,この警告が発生します。たとえば,実行時ライブラリーのある種類を使用するためにあるファイルをコンパイルし,他の種類を使用するために別のファイルをコンパイルし (たとえば,シングルスレッド対マルチスレッド),それらをリンクしようとした場合,このエラーが発生します。 Fortran と C ライブラリーの型は一致しなければなりません。詳細は,「一貫性のあるライブラリー形式の指定」を参照してください。 リンカーがどのライブラリーを検索しているかを決定するために,/VERBOSE:LIB リンカー・オプションを使用することができます。LNK4098 が表示されている時に,たとえば,シングルスレッドで非デバッグの実行時ライブラリーを使用する実行形式ファイルを作成したい場合,/VERBOSE:LIB オプションを使ってリンカーが検索しているライブラリーを見つけることができます。リンカーは,検索したライブラリーとして LIBC.LIB を表示し,LIBCMT.LIB,MSVCRT.LIB,LIBCD.LIB,LIBCMTD.LIB,または MSVCRTD.LIB を表示しません。ビジュアル開発環境では「Project Setting」ダイアログボックス (「Project」メニューから「Settings」を選択) の「Link」タブをクリックし,「Ignore Libraries」テキストボックスに不正な実行時ライブラリーを入力して,不正な実行時ライブラリーをリンカーに無視させます。別の方法は,無視したい各ライブラリーに対して LINK に /NODEFAULTLIB:library オプションを指定します。詳細は,/NODEFAULTLIB リンカー・オプションを参照してください。 以下の表は,自分が使用したい実行時ライブラリーに対して,Visual C++ ライブラリーのどれを無視すべきかを示しています。
たとえば,この警告が表示されている時に,シングルスレッドで非デバッグの実行時ライブラリーを使用する実行形式ファイルを作成したい場合,リンカーで以下のオプションを指定します。 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib |
||||||||||||||
LNK4099 | PDB "filename" was not found with "object/library" or at "path"; linking object as if no debug info
リンカーが .PDB ファイルを見つけられませんでした。オブジェクトとライブラリーがあるディレクトリに .PDB ファイルをコピーしてください。 |