Visual Studio 2010 Pro で (管理されていない) x64 Win32 C++ アプリケーションに取り組んでいますが、奇妙なリンク エラーが発生し続けます。
このアプリケーションは、 をインクルードすることでLoadImage()
Windows API 関数を利用しますwindows.h
。アプリケーションはリリース構成で正常にコンパイルされます (そしてLoadImage()
そのジョブを実行します) が、デバッグ構成でリンクされた実行可能ファイルを取得できません。このエラーが発生し続けます:
Redacted.obj : error LNK2019: unresolved external symbol __imp_LoadImageW referenced in function "public: int __cdecl Redacted::Redacted::Execute(void)" (?Execute@Redacted@Redacted@@QEAAHXZ)
C:\Users\redacted\Documents\Visual Studio 2010\Projects\Redacted\x64\Debug\Redacted.exe : fatal error LNK1120: 1 unresolved externals
Unicode から非マルチバイト文字セットに切り替えると、それに応じてエラー メッセージが からLoadImageW()
に変わりますLoadImageA()
が、それ以外は持続します。リリース構成とデバッグ構成のプロパティに関連する違いが見つからないため、一方ではコンパイルされ、他方ではコンパイルされない理由がわかりません。両方の構成でリンカーの追加の依存関係User32.lib
として正しく設定されており、フラグも両方で設定されています。/MACHINE:X64
リンカはUser32.lib
. しかし、リンカーが実際に使用しようとしている LIB ファイルの正確なコピーを確認するにはどうすればよいでしょうか。