3

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 ファイルの正確なコピーを確認するにはどうすればよいでしょうか。

4

1 に答える 1

5

グローバル構成設定でリンカーパスを確認してください。おそらくそのうちの1つが間違っています。

それ以外にも、探している情報を表示するリンカー/ VERBOSEフラグ(または同様のもの)があると思います。これは、構築しているプロジェクトのリンカー設定のどこかにあります。

于 2013-01-28T13:38:05.790 に答える