2009-05-22 12 views
1

コンパイラが '宣言されていない識別子'という関数を使用しようとすると、32ビットアプリケーションのWindows Vista 64ビットでバグを修正しています。 .. 'WOW64 APIが必要なライブラリを構築できません。

Windows.hヘッダーファイルを含めて、_WIN32_WINNTを0x0501に設定しています。

アイデア?

ありがとうございました。

EDIT:私たちはあなたのヘッダファイルでこのAPIを見ることができますMSのVisual Studio 2003

答えて

2

を使用していますか?使用しているVisual Studioでヘッダーファイルが更新されていない可能性があります。その場合は、Kernel32.dllのLoadLibraryを実行し、必要な機能のGetProcAddressを実行する必要があります。

3

ご使用のプラットフォームのSDKファイルは、その機能を持つには古すぎる可能性があります。この機能は、XP 64ビットプラットフォームSDKで初めて登場しました。 http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&displaylang=en

「WindowsServer®2008のWindows SDK」とは言いますが、これは最新のSDKであり、必要なすべての後方互換性のあるファイルがあります。

コンパイラに応じて、インストールディレクトリを指定する必要があります。

1

(に応じて、あなたのアプリケーションがWindows XP 32ビットまたはWindows 2000上で動作する必要がある場合は、LoadLibrary()使用する必要があるとWow64DisableWow64FsRedirection()Wow64RevertWow64FsRedirection()は、Windows XP 64-bitおよびServer 2003のSP1まで加えていなかったので、カノープスなどGetProcAddress()は、提案しましたdocumentation)。

関連する問題