「filetype ファイルを開けません。'file' : message」 致命的なエラー C1083 | MSDN
「include ファイルを開けません。'stdint.h': No such file or directory」
これはVisual Studio 2010より前には、stdint.hが含まれていないのが原因です。このファイルはVisual C++ 2010 Expressなどをインストールし、%PROGRAMFILES%\Microsoft Visual Studio 10.0\VC\include\stdint.hからコピーすることで入手できます。c++ - Why Microsoft Visual Studio cannot find <stdint.h>? - Stack Overflow
「'identifier': 定義されていない識別子です。」コンパイラ エラー C2065 | MSDN
または/TCオプションでCコードとしてコンパイルしていると、C++の識別子は未定義となります。
現在の設定で何がインクルードされているかは、C++のプロジェクトのプロパティの【構成プロパティ → C/C++ → 詳細設定】にある[インクルード ファイルの表示]を、[はい (/showIncludes)]とすることで確認できます。
「'identifier': マクロが再定義されました。 (macro redefinition)」コンパイラの警告 (レベル 1) C4005 | MSDN
同一のマクロが2回定義されているためで、このときコンパイラは2回目の定義を用います。このようなことが起こる原因としては、
といったことが考えられます。これを解決するにはいずれかの定義を削除するか、2回目の定義の前に#undefで先に削除します。
「'__CLR_VER': マクロが再定義されました。」
__CLR_VERは/clrコンパイラ オプションを指定したときに定義されるマクロで、この場合はコンパイルし直すことで解決できます。Predefined Macros | MSDN
「'function': タイプ ライブラリ '***.dll' の識別子は既にマクロです。'rename' 修飾子を使用してください。」 コンパイラの警告 (レベル 3) C4278 | MSDN
#importによる名前の競合が原因です。これはrename属性で名前を変更することで解決できます。
#import "***.dll" rename("function","functionNew")
C4278が複数発生する場合には、それぞれの名前を変更します。
#import "***.dll" \ rename("function1","function1New") \ rename("function2","function2New")
もしくはauto_rename属性に名前の変更を委ねます。この場合にはアンダースコアが2つ付加された、__functionの形式に自動で変更されます。
#import "***.dll" auto_rename
ただしauto_renameで名前が変更されるとC4298が発生し、「'function': タイプ ライブラリ '***.dll' の識別子は既にマクロです。'__function' に名前を変更します。」と警告されます。
「'**': This function or variable may be unsafe. Consider using **_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.」 コンパイラの警告 (レベル 3) C4996 | MSDN
古い形式の関数を使用しているのが原因です。指示に従い、新しい形式を使用するように修正します。Compiler Warning (level 3) C4996 | MSDN
修正できない理由があるならば、以下のいずれかの方法で警告を無視することでも対処できます。
#define _CRT_SECURE_NO_WARNINGS
を記述する。これは問題の関数が宣言されているライブラリを読み込む前に記述する必要がある。よってプリコンパイル済みヘッダーを使用しているならば、最初の#includeより前の位置が適切。#pragma warning(disable:4996)
と記述し、#pragmaで警告を抑制する。ただしそれが警告でなくエラーならば、この方法は不可。「cannot open include file 'file'.」リソース コンパイラの致命的なエラー RC1015 | MSDN
開けないファイルが'afxres.h'ならば、MFCの利用の有無によって次のように対処します。c++ - Cannot open include file 'afxres.h' in VC2010 Express - Stack Overflow
#include "afxres.h"
を#include "winres.h"
に書き換えるライブラリなどがリンカで設定されているか確認します。また/NODEFAULTLIB
で、[すべての既定のライブラリの無視]や[特定の既定のライブラリの無視]で必要なライブラリが無視されていないか確認します。
「ファイル file を開いて書き込むことができません。」 リンカ ツール エラー LNK1168 | MSDN
fileが開かれているならば、閉じます。またはデバッグが異常終了するとfileのプロセスが残ったままとなることがあるため、タスク マネージャーで確認し終了させます。
「外部シンボル "symbol" は未解決です。」 リンカ ツール エラー LNK2001 | MSDN
依存ファイルを確認します。また/NODEFAULTLIB
で、必要なライブラリが無視されていないか確認します。
「未解決の外部シンボル 'symbol' が関数 'function' で参照されました。」 リンカ ツール エラー LNK2019 | MSDN
次のような理由が考えられます。
必要なライブラリを依存ファイルに追加します。何が必要かは、エラーの外部シンボルの関数をMSDNで検索し、そこの必要条件 (Requirements) のライブラリの項目で確認できることがあります。たとえば、
error LNK2019: 未解決の外部シンボル __imp__accept@12 が関数 _accept_from で参照されました。 error LNK2019: 未解決の外部シンボル __imp__bind@12 が関数 _ready_as_server で参照されました。
とエラーとなるときには、msvcrt.libを依存ファイルに追加します。 c++ - Unresolved external symbol LNK2019 - Stack Overflow c++ - What is an undefined reference/unresolved external symbol error and how do I fix it? - Stack Overflow
ライブラリをリンクしているのにエラーとなるときには、その関数がdllexportで外部から参照できるようになっているか確認します。
参照しているヘッダーのソースを見つけられないと、関数が未定義となりこのエラーが発生します。この場合にはソースをプロジェクトに追加します。
「"exported_function (decorated_name) が関数 "function_containing_function_call" (decorated_name) で参照されました。」リンカ ツール エラー LNK2028 | MSDN
呼び出し元と呼び出し先の呼び出し規約を合わせます。
「"option1" は "option2" の指定によって無視されます。」 リンカー ツールの警告 LNK4075 | MSDN
同時に指定できないオプションが指定されたため、option1の指定が無効になっています。
「/EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。」
C++/CLIではエディット コンティニュを利用できないため、それが有効化 (/ZI) されているC++のスタティック ライブラリを読み込むとこの警告が発生します。これはその事実を伝える警告に過ぎず、C++/CLI側では対処できません。もしC++側を変更できるならば、エディット コンティニュを無効化 (/Zi) することで警告はなくなります。visual studio 2012 - Warning LNK4075 when a C++/CLI project references a static lib project with /ZI (Edit And Continue) - Stack Overflow
「PDB 'filename' が 'object/library' または 'path' に見つかりません。デバッグ情報がないものとして、オブジェクトにリンクします。」 リンカー ツールの警告 LNK4099 | MSDN
filenameのpdbファイルをobject/libraryに配置します。もしこのエラーが参照しているプロジェクトによるものならば、そのプロジェクトもリビルドします。
「'filename' に参照するモジュールのデバッグ情報がありません。デバッグ情報を無視してオブジェクトをリンクします。」 リンカー ツールの警告 LNK4204 | MSDN
pdbファイルが存在しない、もしくはそれに適切な情報が含まれていないのが原因です。
「*** is not a valid Win32 application.」
64ビット向けにビルドしたアプリケーションを、32ビット環境で実行しようとしています。32ビット向けにビルドし直します。
「This application has failed to start because MSVCR**.dll was not found. Re-installing the application may fix this problem.」
指定のVisual C++ ランタイムをインストールするか、それを静的リンクで組み込みます。
C Runtime Error R6016 | Microsoft Learn